Commit Graph

798 Commits

Author SHA1 Message Date
Guozhang Wang 5995453f4c MINOR: Web docs for KIP-220
1. added functions for KafkaStreams and KafkaClientSupplier.
2. added prefix for admin client in StreamsConfig.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Jason Gustafson <jason@confluent.io>, Matthias J. Sax <matthias@confluent.io>

Closes #4338 from guozhangwang/K6150-doc-changes
2017-12-22 11:53:04 -08:00
Jun Rao 27c2c81663 KAFKA-6320: Move ZK metrics in KafkaHealthCheck to ZookeeperClient (#4351)
* Moved metrics in KafkaHealthCheck to ZookeeperClient.
* Converted remaining ZkUtils usage in KafkaServer to ZookeeperClient and removed ZkUtils from KafkaServer.
* Made the re-creation of ZooKeeper during ZK session expiration with infinite retries.
* Added unit tests for all new methods in KafkaZkClient.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Ismael Juma <ismael@juma.me.uk>
2017-12-22 10:28:57 +00:00
Matthias J. Sax dca1474b4b KAFKA-6126: Remove unnecessary topics created check
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4322 from mjsax/kafka-6126-remove-topic-check-on-rebalance-2
2017-12-20 18:02:33 -08:00
Matthias J. Sax 9cacb92d13 KAFKA-4263: Fix flaky test QueryableStateIntegrationTest.concurrentAccess
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4342 from mjsax/kafka-4263-concurrentAccess
2017-12-20 15:22:06 -08:00
Manikumar Reddy 488ea4b9fd KAFKA-5647; Use KafkaZkClient in ReassignPartitionsCommand and PreferredReplicaLeaderElectionCommand
*  Use KafkaZkClient in ReassignPartitionsCommand
*  Use KafkaZkClient in PreferredReplicaLeaderElectionCommand
*  Updated test classes to use new methods
*  All existing tests should pass

Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Jun Rao <junrao@gmail.com>

Closes #4260 from omkreddy/KAFKA-5647-ADMINCOMMANDS
2017-12-20 12:19:36 -08:00
Guozhang Wang 82c6d429e7 KAFKA-6150: KIP-204 part III; Change repartition topic segment size and ms
1. Create default internal topic configs in StreamsConfig, especially for repartition topics change the segment size and time to smaller value.
2. Consolidate the default internal topic settings to InternalTopicManager and simplify InternalTopicConfig correspondingly.
3. Add an integration test for purging data.
4. MINOR: change TopologyBuilderException to IllegalStateException in StreamPartitionAssignor (part of https://issues.apache.org/jira/browse/KAFKA-5660).

Here are a few public facing APIs that get added:

1. AbstractConfig#originalsWithPrefix(String prefix, boolean strip): this for simplify the logic of passing admin and topic prefixed configs to consumer properties.
2. KafkaStreams constructor with Time object for convienent mocking in tests.

Will update KIP-204 accordingly if people re-votes these changes.

Author: Guozhang Wang <wangguoz@gmail.com>
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4315 from guozhangwang/K6150-segment-size
2017-12-19 16:05:42 -08:00
Bill Bejeck f3b9afe622 MINOR: Broker down for significant amt of time system test
System test where a broker is offline more than the configured timeouts.  In this case:
- Max poll interval set to 45 secs
- Retries set to 2
- Request timeout set to 15 seconds
- Max block ms set to 30 seconds

The broker was taken off-line for 70 seconds or more than double request timeout * num retries

[passing system test results](http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2017-12-11--001.1513034559--bbejeck--KSTREAMS_1179_broker_down_for_significant_amt_of_time--6ab4802/report.html)

Author: Bill Bejeck <bill@confluent.io>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4313 from bbejeck/KSTREAMS_1179_broker_down_for_significant_amt_of_time
2017-12-19 15:37:21 -08:00
Matthias J. Sax 9aad649fd0 MINOR: Fix race condition in KafkaStreamsTest.shouldReturnThreadMetadata
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #4337 from mjsax/minor-fix-kafakstreamstest
2017-12-18 17:39:25 -08:00
Matthias J. Sax 22f742cdd2 MINOR: Stabilize flaky smoke system tests before KIP-91
This is a workaround until KIP-91 is merged. We tried increasing the timeout multiple times already but tests are still flaky.

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Apurva Mehta <apurva@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4329 from mjsax/hotfix-system-tests
2017-12-18 17:34:50 -08:00
Matthias J. Sax e86f70ed20 MINOR: improve JavaDocs for KafkaStreams, KafkaProducer, KafkaConsumer
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Apurva Mehta <apurva@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4335 from mjsax/minor-improve-KafkaStreams-javadocs
2017-12-18 11:10:03 -08:00
Matt Farmer 69777260e0 KAFKA-6086: Provide for custom error handling when Kafka Streams fails to produce
This PR creates and implements the `ProductionExceptionHandler` as described in [KIP-210](https://cwiki.apache.org/confluence/display/KAFKA/KIP-210+-+Provide+for+custom+error+handling++when+Kafka+Streams+fails+to+produce).

I've additionally provided a default implementation preserving the existing behavior. I fixed various compile errors in the tests that resulted from my changing of method signatures, and added tests to cover the new behavior.

Author: Matt Farmer <mfarmer@rsglab.com>
Author: Matt Farmer <matt@frmr.me>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4165 from farmdawgnation/msf/kafka-6086
2017-12-15 12:53:17 +00:00
Damian Guy 1cf7ec87d3 KAFKA-6360: Clear RocksDB Segments when store is closed
Now that we support re-initializing state stores, we need to clear the segments when the store is closed so that they can be re-opened.

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Bill Bejeck <bbejeck@gmail.com>, Guozhang Wang <wangguoz@gmail.com>, Ted Yu <yuzhihong@gmail.com>

Closes #4324 from dguy/kafka-6360
2017-12-14 09:51:56 -08:00
Damian Guy d1a9252ca1 KAFKA-6349: Fix concurrent modification exception in AbstractStateManager during restore
Fixes a `ConcurrentModificationException` in`AbstractStateManager` that is triggered when a `StateStore` is re-initialized and there are multiple stores in the context.

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, GuozhangWang <wangguoz@gmail.com>

Closes #4317 from dguy/kafka-6349
2017-12-12 19:25:01 -08:00
Damian Guy fe3699ce33 MINOR: Fix warn logging in RecordCollectorImpl
Fix warn log message in RecordCollectorImpl so it prints the exception message rather than `{}`

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, GuozhangWang <wangguoz@gmail.com>

Closes #4318 from dguy/minor-logging-record-collector
2017-12-12 19:13:39 -08:00
Matthias J. Sax 043951753b KAFKA-6121: Restore and global consumer should not use auto.offset.reset
- set auto.offset.reste to "none" for restore and global consumer
- handle InvalidOffsetException for restore and global consumer
- add corresponding tests
- some minor cleanup

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com, Bill Bejeck <bill@confluent.io>, GuozhangWang <wangguoz@gmail.com>

Closes #4215 from mjsax/kafka-6121-restore-global-consumer-handle-reset
2017-12-11 14:20:10 +00:00
Matthias J. Sax 234ec8a8af KAFKA-4857: Replace StreamsKafkaClient with AdminClient in Kafka Streams
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Bill Bejeck <bbejeck@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4242 from mjsax/kafka-4857-admit-client
2017-12-07 16:16:54 -08:00
Jorge Quilcate Otoya 30f08d158a KAFKA-5520: KIP-171; Extend Consumer Group Reset Offset for Stream Application
KIP: https://cwiki.apache.org/confluence/display/KAFKA/KIP-171+-+Extend+Consumer+Group+Reset+Offset+for+Stream+Application

Merge changes from KIP-198

Ref: https://github.com/apache/kafka/pull/3831

Author: Jorge Quilcate Otoya <quilcate.jorge@gmail.com>
Author: Ismael Juma <ismael@juma.me.uk>
Author: Matthias J. Sax <matthias@confluent.io>
Author: Manikumar Reddy <manikumar.reddy@gmail.com>
Author: Guozhang Wang <wangguoz@gmail.com>
Author: Apurva Mehta <apurva@confluent.io>
Author: Rajini Sivaram <rajinisivaram@googlemail.com>
Author: Jason Gustafson <jason@confluent.io>
Author: Vahid Hashemian <vahidhashemian@us.ibm.com>
Author: Bill Bejeck <bill@confluent.io>
Author: Dong Lin <lindong28@gmail.com>
Author: Soenke Liebau <soenke.liebau@opencore.com>
Author: Colin P. Mccabe <cmccabe@confluent.io>
Author: Damian Guy <damian.guy@gmail.com>
Author: Xavier Léauté <xl+github@xvrl.net>
Author: Maytee Chinavanichkit <maytee.chinavanichkit@linecorp.com>
Author: Joel Hamill <git config --global user.email>
Author: Paolo Patierno <ppatierno@live.com>
Author: siva santhalingam <siva.santhalingam@gmail.com>
Author: Tommy Becker <tobecker@tivo.com>
Author: Mickael Maison <mickael.maison@gmail.com>
Author: Onur Karaman <okaraman@linkedin.com>
Author: tedyu <yuzhihong@gmail.com>
Author: Xin Li <Xin.Li@trivago.com>
Author: Magnus Edenhill <magnus@edenhill.se>
Author: Manjula K <manjula@kafka-summit.org>
Author: Hugo Louro <hmclouro@gmail.com>
Author: Jeff Widman <jeff@jeffwidman.com>
Author: bartdevylder <bartdevylder@gmail.com>
Author: Ewen Cheslack-Postava <me@ewencp.org>
Author: Jacek Laskowski <jacek@japila.pl>
Author: Tom Bentley <tbentley@redhat.com>
Author: Konstantine Karantasis <konstantine@confluent.io>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4159 from jeqo/feature/kip-171
2017-12-06 11:38:38 -08:00
Guozhang Wang 4b8a29f12a KAFKA-6150: KIP-204 part III; Purge repartition topics with the admin client
1. Add the repartition topics information into ProcessorTopology: personally I do not like leaking this information into the topology but it seems not other simple way around.
2. StreamTask: added one more function to expose the consumed offsets from repartition topics only.
3. TaskManager: use the AdminClient to send the gathered offsets to delete only if a) previous call has completed and client intentionally ignore-and-log any errors, or b) no requests have ever called before.

NOTE that this code depends on the assumption that purge is only called right after the commit has succeeded, hence we presume all consumed offsets are committed.

4. MINOR: Added a few more constructor for ProcessorTopology for cleaner unit tests.
5. MINOR: Extracted MockStateStore out of the deprecated class.
6. MINOR: Made a pass over some unit test classes for clean ups.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4270 from guozhangwang/K6150-purge-repartition-topics
2017-12-04 10:21:42 -08:00
Bill Bejeck 39c438ec1f MINOR: increase request timeout for streams bounce test
Increase `REQUEST_TIMOUT_MS` to improve a flaky system test until KIP-91 merged

Author: Bill Bejeck <bill@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #4291 from bbejeck/MINOR_increase_request_timeout_for_streams_bounce_test
2017-12-04 09:56:34 -08:00
Bill Bejeck 9204197abf MINOR: Fix broker compatibility tests
Updated the System test `stream_broker_compatibility_test.py` to address system test failures as we have removed explicit broker version checking

- Ignore the `0.8.2.2` and `0.9.0.0` tests because the `NetworkClient` only logs `UnsupportedVersionException`s that occur and will continue to retry connecting.  Once issue https://issues.apache.org/jira/browse/KAFKA-6297 is addressed, we may re-enable these tests.
- Updated existing tests expected error messages
- Updated Streams code in test for to make sure we fail fast for incompatible brokers

Author: Bill Bejeck <bill@confluent.io>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4286 from bbejeck/MINOR_fix_broker_compatibility_tests
2017-12-03 09:05:18 -08:00
Matthias J. Sax d1e0443bac MINOR: Improve EOS related config docs
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4284 from mjsax/minor-improve-eos-docs
2017-12-01 14:39:46 -08:00
Matthias J. Sax b512cd474c KAFKA-6259: Make KafkaStreams.cleanup() clean global state directory
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4255 from mjsax/kafka-6259-clean-global-state-dir

add log4j entry
2017-11-29 11:20:29 -08:00
Richard Yu 0cc32abc17 KAFKA-4499: Add all() and fetchAll() API for querying window store
A rebased version of the code.

Author: RichardYuSTUG <yohan.richard.yu2@gmail.com>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4258 from ConcurrencyPractitioner/trunk

Add EmptyWindowStoreIterator to NoOpWindowStore
2017-11-29 10:55:43 -08:00
Guozhang Wang 1a1d923f25 KAFKA-6274: Use topic plus dash as prefix of auto-generated state store names
Use `topic-` as the prefix of the auto-generated state store name.

Also add a unit test for this functionality.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>, Ted Yu <yuzhihong@gmail.com>

Closes #4268 from guozhangwang/K6274-table-source-store-name
2017-11-28 11:08:42 -08:00
Guozhang Wang 5df1eee7d6 KAFKA-6170; KIP-220 Part 2: Break dependency of Assignor on StreamThread
This refactoring is discussed in https://github.com/apache/kafka/pull/3624#discussion_r132614639. More specifically:

1. Moved the access of `StreamThread` in `StreamPartitionAssignor` to `TaskManager`, removed any fields stored in `StreamThread` such as `processId` and `clientId` that are only to be used in `StreamPartitionAssignor`, and pass them to `TaskManager` if necessary.
2. Moved any in-memory states, `metadataWithInternalTopics`, `partitionsByHostState`, `standbyTasks`, `activeTasks` to `TaskManager` so that `StreamPartitionAssignor` becomes a stateless thin layer that access TaskManager directly.
3. Remove the reference of `StreamPartitionAssignor` in `StreamThread`, instead consolidate all related functionalities such as `cachedTasksIds ` in `TaskManager` which could be retrieved by the `StreamThread` and the `StreamPartitionAssignor` directly.
4. Finally, removed the two interfaces used for `StreamThread` and `StreamPartitionAssignor`.

5. Some minor fixes on logPrefixes, etc.

Future work: when replacing the StreamsKafkaClient, we would let `StreamPartitionAssignor` to retrieve it from `TaskManager` directly, and also its closing call do not need to be called (`KafkaStreams` will be responsible for closing it).

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>

Closes #4224 from guozhangwang/K6170-refactor-assignor
2017-11-28 09:37:27 -08:00
Matthias J. Sax 8f6a372eed MINOR: improve error message for Streams test
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4253 from mjsax/minor-imporve-error-message
2017-11-26 11:33:49 -08:00
Matthias J. Sax 80038e6d20 MINOR: improve flaky Streams system test
Handle TimeoutException in Producer callback and retry sending input data

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>

Closes #4244 from mjsax/improve-flaky-system-test
2017-11-22 10:53:32 +00:00
Damian Guy 225b0b9c71 KAFKA-6214: enable use of in-memory store for standby tasks
Remove the flag in `ProcessorStateManager` that checks if a store is persistent when registering it as a standby task.
Updated the smoke test to use an in-memory store.

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>, Matthias J. Sax <matthias@confluent.io>

Closes #4239 from dguy/kafka-6214
2017-11-21 17:55:30 -08:00
Guozhang Wang e3c32391f9 KAFKA-6170; KIP-220 Part 1: Add AdminClient to Streams
1. Add The AdminClient into Kafka Streams, which is shared among all the threads.
2. Add ADMIN_PREFIX to StreamsConfig.
3. Also made a few tweaks on the metrics of the AdminClient, which is slightly different from the StreamsKafkaClient (note these changes will not be reflected in this PR but only take place when we eventually replace StreamsKafkaClient):
3.1. "clientId" tag will be set as "clientId-admin": in StreamsKafkaClient it is whatever user sets, and hence could even be null.
3.2. "groupPrefix" will be set as "admin-client": in StreamsKafkaClient it will be "kafka-client".

So the metrics from `StreamsKafkaClient` to `AdminClient` would be changed from

`kafka.admin.client:type=kafka-client-metrics,client-id=`

to

`kafka.admin.client:type=admin-client-metrics,client-id=myApp-UUID-admin`

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>, Ted Yu <yuzhihong@gmail.com>

Closes #4211 from guozhangwang/K6170-admin-client
2017-11-20 11:25:22 -08:00
Matthias J. Sax 40fd9fa981 KAFKA-6122: Global Consumer should handle TimeoutException
Implements KIP-224:
- adding new StreamsConfig `retires`
- uses `retires` and `retry.backoff.ms` to handle TimeoutException in GlobalStateManager
- adds two new tests to trigger TimeoutException in global consumer
- some minor code cleanup to reduce number of parameters we need to pass around

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4206 from mjsax/kafka-6122-global-consumer-timeout-exception
2017-11-18 14:54:01 -08:00
Matthias J. Sax b604540fbd MINOR: improve StateStore JavaDocs
Clarify that state directory must use `storeName`

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4228 from mjsax/minor-state-store-javadoc
2017-11-17 11:49:09 -08:00
Matthias J. Sax 539c4d53f8 KAFKA-6167: Timestamp on streams directory contains a colon, which is an illegal character
- change segment delimiter to .
 - added upgrade path
 - added test for old and new upgrade path

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4210 from mjsax/kafka-6167-windows-issue
2017-11-15 17:43:35 -08:00
Matthias J. Sax 1756a22f79 KAFKA-6215: fix transient failures in KafkaStreamsTest
- set streams state.dir to test-dir (default /tmp is not reliable)

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>, Ted Yu <yuzhihong@gmail.com>

Closes #4221 from mjsax/minor-fix-instable-tests
2017-11-15 11:40:39 -08:00
Guozhang Wang 84ddff6792 HOTFIX: GlobalStateManagerImpl in trunk has renamed the consumer field 2017-11-09 22:43:59 -08:00
Alex Good 66cab2f7fb KAFKA-6190: Use consumer.position() instead of record.offset() to advance in GlobalKTable restoration to avoid transactional control messages
Calculate offset using consumer.position() in GlobalStateManagerImp#restoreState

Author: Alex Good <alexjsgood@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4197 from alexjg/0.11.0

(cherry picked from commit 1321d89484)
Signed-off-by: Guozhang Wang <wangguoz@gmail.com>
2017-11-09 15:35:00 -08:00
Guozhang Wang e23de3caee MINOR: Remove FanoutIntegrationTest.java
This test has been completely subsumed by the coverage of reset integration test, and hence can be removed.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>

Closes #4184 from guozhangwang/KMinor-remove-fanout-integration
2017-11-09 09:46:47 -08:00
Guozhang Wang ee1aaa091f KAFKA-6179: Clear min timestamp tracker upon partition queue cleanup
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4186 from guozhangwang/K6179-cleanup-timestamp-tracker-on-clear
2017-11-08 15:07:14 -08:00
Matthias J. Sax 2b5a21395c KAFKA-6120: RecordCollector should not retry sending
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4148 from mjsax/kafka-6120-recordCollector
2017-11-06 10:50:57 -08:00
Matthias J. Sax d637ad0daf KAFKA-6115: TaskManager should be type aware
- remove type specific methods from Task interface
 - add generics to preserve task type
 - add sub classes for different task types

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>, Guozhang Wang <wangguoz@gmail.com>

Closes #4129 from mjsax/kafka-6115-taskManager-should-be-type-aware
2017-11-06 10:26:52 -08:00
Adem Efe Gencer 86062e9a78 KAFKA-6157; Fix repeated words words in JavaDoc and comments.
Author: Adem Efe Gencer <agencer@linkedin.com>

Reviewers: Jiangjie Qin <becket.qin@gmail.com>

Closes #4170 from efeg/bug/typoFix
2017-11-05 18:00:43 -08:00
Bill Bejeck e4208b1d5f MINOR: update producer client request timeout in system test
Author: Bill Bejeck <bill@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #4168 from bbejeck/MINOR_update_streams_produer_timeout_in_system_test
2017-11-02 17:53:15 -07:00
Matthias J. Sax c7ab3efcbe MINOR: Code cleanup and JavaDoc improvements for clients and Streams
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>

Closes #4128 from mjsax/minor-cleanup

minor fix
2017-10-30 13:13:19 -07:00
Richard Yu 7fe88e8bd9 KAFKA-5212; Consumer ListOffsets request can starve group heartbeats
Author: Richard Yu <richardyu@Richards-Air.attlocal.net>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #4110 from ConcurrencyPractitioner/trunk
2017-10-30 11:31:36 -07:00
Guozhang Wang ea6a67af70 KAFKA-6100: Down-grade RocksDB to 5.7.3
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Vahid Hashemian <vahidhashemian@us.ibm.com>, Damian Guy <damian.guy@gmail.com>, Bill Bejeck <bill@confluent.io>

Closes #4136 from guozhangwang/K6100-rocksdb-580-regression
2017-10-26 13:27:08 -07:00
Ismael Juma 070ec0fc58 MINOR: Revert EmbeddedZooKeeper rename
Even though this class is internal, it's widely
used by other projects and it's better to avoid
breaking them until we have a publicly supported
test library.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #4138 from ijuma/revert-embedded-zookeeper-rename
2017-10-26 14:23:00 +01:00
Ismael Juma ab6f848ba6 MINOR: Rename and change package of async ZooKeeper classes
- kafka.controller.ZookeeperClient -> kafka.zookeeper.ZooKeeperClient
- kafka.controller.ControllerZkUtils -> kafka.zk.KafkaZkClient
- kafka.controller.ZkData -> kafka.zk.ZkData
- Renamed various fields to match new names and for consistency
- A few clean-ups in ZkData
- Document intent

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Onur Karaman <okaraman@linkedin.com>, Manikumar Reddy <manikumar.reddy@gmail.com>, Jun Rao <junrao@gmail.com>

Closes #4112 from ijuma/rename-zookeeper-client-and-move-to-zookeper-package
2017-10-25 21:11:16 -07:00
Guozhang Wang b281015c15 HOTFIX: Poll with zero milliseconds during restoration phase
1. After the poll call, re-check if the state has been changed or not; if yes, initialize the tasks again.
2. Minor log4j improvements.

Author: Guozhang Wang <wangguoz@gmail.com>
Author: Damian Guy <damian.guy@gmail.com>
Author: Jason Gustafson <jason@confluent.io>
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>, Ted Yu <yuzhihong@gmail.com>

Closes #4096 from guozhangwang/KHotfix-restore-only
2017-10-23 16:12:54 -07:00
Guozhang Wang d3f24798f9 KAFKA-5140: Fix reset integration test
A couple of root causes of this flaky test is fixed:

1. The MockTime was incorrectly used across multiple test methods within the class, as a class rule. Instead we set it on each test case; also remove the scala MockTime dependency.

2. List topics may not contain the deleted topics while their ZK paths are yet to be deleted; so the delete-check-recreate pattern may fail to successfully recreate the topic at all. Change the checking to read from zk path directly instead.

Another minor fix is to remove the misleading wait condition error message as the accumData is always empty.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>, Matthias J. Sax <matthias@confluent.io>

Closes #4095 from guozhangwang/KMinor-reset-integration-test
2017-10-23 12:35:31 -07:00
Matthias J. Sax c216adb4bb MINOR: add hint for setting an uncaught exception handler to JavaDocs
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4104 from mjsax/minor-uncaught-exception-handler
2017-10-23 10:33:51 +01:00
Tommy Becker 249e398bf8 KAFKA-6069: Properly tag KafkaStreams metrics with the client id.
Author: Tommy Becker <tobecker@tivo.com>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #4081 from twbecker/KAFKA-6069
2017-10-19 15:40:26 +01:00