GitHub user kyleabcha opened a pull request:
https://github.com/apache/kafka/pull/3750
KafkaConsumer was hung when bootstrap servers was not existed
Could anyone help me on this?
We have an issue if we entered an non-existed host:port for
bootstrap.servers property on KafkaConsumer. The created KafkaConsumer was hung
forever.
**the debug message:**
java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at
org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50)
at
org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:95)
at
org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:359)
at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:432)
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:208)
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:199)
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:134)
at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:223)
at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:200)
at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:286)
at
org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1078)
at
org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1043)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
[2017-08-28 09:20:56,400] DEBUG Node -1 disconnected.
(org.apache.kafka.clients.NetworkClient)
[2017-08-28 09:20:56,400] WARN Connection to node -1 could not be
established. Broker may not be available.
(org.apache.kafka.clients.NetworkClient)
[2017-08-28 09:20:56,400] DEBUG Give up sending metadata request since no
node is available (org.apache.kafka.clients.NetworkClient)
[2017-08-28 09:20:56,450] DEBUG Initialize connection to node -1 for
sending metadata request (org.apache.kafka.clients.NetworkClient)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/kafka trunk
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/3750.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3750
----
commit de982ba3fbf99664f0aaa5aa4b72af8fd1881232
Author: Randall Hauch <[email protected]>
Date: 2017-06-21T00:48:32Z
KAFKA-5472: Eliminated duplicate group names when validating connector
results
Kafka Connect was adding duplicate group names in the response from the
REST API's validation of connector configurations. This fixes the duplicates
and maintains the order of the `ConfigDef` objects so that the `ConfigValue`
results are in the same order.
This is a blocker and should be merged to 0.11.0.
Author: Randall Hauch <[email protected]>
Reviewers: Ewen Cheslack-Postava <[email protected]>
Closes #3379 from rhauch/KAFKA-5472
commit 76f6e14b07bd97d17f9275968a047d68b4658704
Author: Kelvin Rutt <[email protected]>
Date: 2017-06-21T01:00:41Z
KAFKA-5413; Log cleaner fails due to large offset in segment file
the contribution is my original work and I license the work to the project
under the project's open source license.
junrao , I had already made the code change before your last comment. I've
done pretty much what you said, except that I've not used the current segment
because I wasn't sure if it will always be available.
I'm happy to change it if you prefer.
I've run all the unit and integration tests which all passed.
Author: Kelvin Rutt <[email protected]>
Author: Kelvin Rutt <[email protected]>
Reviewers: Jun Rao <[email protected]>
Closes #3357 from kelvinrutt/kafka_5413_bugfix
commit cae5977ed0d6b63f992973800273769c970b0a0a
Author: Matthias J. Sax <[email protected]>
Date: 2017-06-21T08:32:46Z
MINOR: explain producer naming within Streams
Author: Matthias J. Sax <[email protected]>
Reviewers: Bill Bejeck <[email protected]>, Damian Guy
<[email protected]>
Closes #3378 from mjsax/minor-producer-naming
commit 55a90938a12d8928289a30588bbad6c959c48674
Author: Eno Thereska <[email protected]>
Date: 2017-06-21T10:46:59Z
MINOR: add Yahoo benchmark to nightly runs
Author: Eno Thereska <[email protected]>
Reviewers: Damian Guy <[email protected]>
Closes #3289 from enothereska/yahoo-benchmark
commit 254add953477df65fe36144dc0714e0c9815c767
Author: Apurva Mehta <[email protected]>
Date: 2017-06-21T18:00:04Z
KAFKA-5477; Lower retry backoff for first AddPartitions in transaction
This patch lowers the retry backoff when receiving a
CONCURRENT_TRANSACTIONS error from an AddPartitions request. The default of
100ms would mean that back to back transactions would be 100ms long at minimum,
making things to slow.
Author: Apurva Mehta <[email protected]>
Reviewers: Guozhang Wang <[email protected]>, Ismael Juma
<[email protected]>, Jason Gustafson <[email protected]>
Closes #3377 from apurvam/HOTFIX-lower-retry-for-add-partitions
commit f848e2cd681ced74fefdd38a54a44e31e4d867fb
Author: Guozhang Wang <[email protected]>
Date: 2017-06-21T20:05:54Z
Revert "MINOR: make flush no-op as we don't need to call flush on commit."
This reverts commit 90b2a2bf664e4e40d4cd1b46c72732c5edb97cf9.
commit e6e263174300ffab05676790f2a6c963ba24e5c9
Author: Jason Gustafson <[email protected]>
Date: 2017-06-21T21:04:19Z
MINOR: Detail message/batch size implications for conversion between old
and new formats
Author: Jason Gustafson <[email protected]>
Reviewers: Ismael Juma <[email protected]>
Closes #3373 from hachikuji/fetch-size-upgrade-notes
commit 96587f4b1ffd372d3e4f9a1fba6fc1d2f84a191d
Author: Ewen Cheslack-Postava <[email protected]>
Date: 2017-06-21T21:20:48Z
KAFKA-5475: Connector config validation should include fields for defined
transformation aliases
Author: Ewen Cheslack-Postava <[email protected]>
Reviewers: Konstantine Karantasis <[email protected]>, Jason
Gustafson <[email protected]>
Closes #3399 from ewencp/kafka-5475-validation-transformations
commit bc47e9d6ca976ba3c15249500b2bb6f6355816bc
Author: Apurva Mehta <[email protected]>
Date: 2017-06-21T21:41:51Z
KAFKA-5491; Enable transactions in ProducerPerformance Tool
With this patch, the `ProducePerfomance` tool can create transactions of
differing durations.
This patch was used to to collect the initial set of benchmarks for
transaction performance, documented here:
https://docs.google.com/spreadsheets/d/1dHY6M7qCiX-NFvsgvaE0YoVdNq26uA8608XIh_DUpI4/edit#gid=282787170
Author: Apurva Mehta <[email protected]>
Reviewers: Jun Rao <[email protected]>
Closes #3400 from apurvam/MINOR-add-transaction-size-to-producre-perf
commit 914e42a28254ef6a4818b3fcdc2197db6fbe8e0f
Author: Matthias J. Sax <[email protected]>
Date: 2017-06-22T00:16:48Z
KAFKA-5474: Streams StandbyTask should no checkpoint on commit if EOS is
enabled
<strike> - actual fix for `StandbyTask#commit()` </strike>
Additionally (for debugging):
- EOS test, does not report "expected" value correctly
- add `IntegerDecoder` (to be use with `kafka.tools.DumpLogSegments`)
- add test for `StreamTask` to not checkpoint on commit if EOS enabled
Author: Matthias J. Sax <[email protected]>
Reviewers: Bill Bejeck <[email protected]>, Damian Guy
<[email protected]>, Guozhang Wang <[email protected]>
Closes #3375 from mjsax/kafka-5474-eos-standby-task
commit 4e8797f54ef9d2d7f40e3100943ae8afd5496b16
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-22T07:40:54Z
KAFKA-4659; Improve test coverage of CachingKeyValueStore
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J Sax <[email protected]>, Guozhang Wang
<[email protected]>, Damian Guy <[email protected]>
Closes #3291 from jeyhunkarimov/KAFKA-4659
commit 7f4feda959f5a0c438487844a0754cdf75f32a46
Author: Guozhang Wang <[email protected]>
Date: 2017-06-22T07:53:32Z
MINOR: Turn off caching in demos for more understandable outputs
Author: Guozhang Wang <[email protected]>
Reviewers: Matthias J Sax <[email protected]>, Bill Bejeck
<[email protected]>
Closes #3403 from guozhangwang/KMinor-turn-off-caching-in-demo
commit cb5e1f0a40e9a9779a5dcabf555a593363728b33
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-22T11:23:58Z
KAFKA-4785; Records from internal repartitioning topics should always use
RecordMetadataTimestampExtractor
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J. Sax <[email protected]>, Eno Thereska
<[email protected]>, Bill Bejeck <[email protected]>, Damian Guy
<[email protected]>
Closes #3106 from jeyhunkarimov/KAFKA-4785
commit a4794b11b201804c39ee9f9a2f32dbdd7c2c246b
Author: Ismael Juma <[email protected]>
Date: 2017-06-22T11:48:53Z
KAFKA-5486: org.apache.kafka logging should go to server.log
The current config sends org.apache.kafka and any unspecified logger to
stdout. They should go to `server.log` instead.
Author: Ismael Juma <[email protected]>
Reviewers: Damian Guy <[email protected]>
Closes #3402 from ijuma/kafka-5486-org.apache.kafka-logging-server.log
commit a6799f4e14ac68a5915bce50f37343bec45c988a
Author: Tom Bentley <[email protected]>
Date: 2017-06-22T12:42:32Z
KAFKA-4059; API Design section under Implementation is out of date
It describes the old deprecated clients and it's better to just
remove it.
The contribution is my original work and I license the work to the
project under the project's open source license.
Author: Tom Bentley <[email protected]>
Reviewers: Ismael Juma <[email protected]>
Closes #3385 from tombentley/KAFKA-4059
commit 785d8e20caf31d4165dbd9573828b74e5859b259
Author: Kevin Sweeney <[email protected]>
Date: 2017-06-22T13:03:34Z
MINOR: Provide link to ZooKeeper within Quickstart
Author: Kevin Sweeney <[email protected]>
Reviewers: Ismael Juma <[email protected]>
Closes #3372 from restlessdesign/patch-1
commit adfaa1161150635b9bb0e36a573382c5b68960e2
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-22T14:00:41Z
KAFKA-4655; Improve test coverage of CompositeReadOnlySessionStore
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J. Sax <[email protected]>, Damian Guy
<[email protected]>
Closes #3290 from jeyhunkarimov/KAFKA-4655
commit 1744a9b4c2a13545036f172064df01b34b0dded0
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-22T14:04:29Z
KAFKA-4658; Improve test coverage InMemoryKeyValueLoggedStore
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J. Sax <[email protected]>, Damian Guy
<[email protected]>
Closes #3293 from jeyhunkarimov/KAFKA-4658
commit fc58ac594f0eb63e0928374f67eba25bfa18eaea
Author: Jason Gustafson <[email protected]>
Date: 2017-06-22T15:54:28Z
KAFKA-5490; Skip empty record batches in the consumer
The actual fix for KAFKA-5490 is in
https://github.com/apache/kafka/pull/3406.
This is just the consumer change that will allow the cleaner
to use empty record batches without breaking 0.11.0.0
consumers (assuming that KAFKA-5490 does not make the cut).
This is a safe change even if we decide to go with a different option
for KAFKA-5490 and I'd like to include it in RC2.
Author: Jason Gustafson <[email protected]>
Author: Ismael Juma <[email protected]>
Reviewers: Damian Guy <[email protected]>, Ismael Juma
<[email protected]>
Closes #3408 from ijuma/kafka-5490-consumer-should-skip-empty-batches
commit 5d9563d95fb09903d13b7135e1136081feb4fc4b
Author: Ismael Juma <[email protected]>
Date: 2017-06-22T15:56:06Z
MINOR: Switch ZK client logging to INFO
Author: Ismael Juma <[email protected]>
Reviewers: Jun Rao <[email protected]>
Closes #3409 from ijuma/tweak-log-config
commit cd11fd787438d26324d9644c248b812d25e26b34
Author: Ewen Cheslack-Postava <[email protected]>
Date: 2017-06-22T20:00:12Z
KAFKA-5498: ConfigDef derived from another ConfigDef did not correctly
compute parentless configs
Author: Ewen Cheslack-Postava <[email protected]>
Reviewers: Gwen Shapira
Closes #3412 from ewencp/kafka-5498-base-configdef-parentless-configs
commit 6d2fbfc911120c178d9ba2528179fb4d8475afc4
Author: Onur Karaman <[email protected]>
Date: 2017-06-22T21:28:03Z
KAFKA-5502; read current brokers from zookeeper upon processing broker
change
Dong Lin's testing of the 0.11.0 release revealed a controller-side
performance regression in clusters with many brokers and many partitions when
bringing up many brokers simultaneously.
The regression is caused by KAFKA-5028: a Watcher receives WatchedEvent
notifications from the raw ZooKeeper client EventThread. A WatchedEvent only
contains the following information:
- KeeperState
- EventType
- path
Note that it does not actually contain the current data or current set of
children associated with the data/child change notification. It is up to the
user to do this lookup to see the current data or set of children.
ZkClient is itself a Watcher. When it receives a WatchedEvent, it puts a
ZkEvent into its own queue which its own ZkEventThread processes. Users of
ZkClient interact with these notifications through listeners (IZkDataListener,
IZkChildListener). IZkDataListener actually expects as input the current data
of the watched znode, and likewise IZkChildListener actually expects as input
the current set of children of the watched znode. In order to provide this
information to the listeners, the ZkEventThread, when processing the ZkEvent in
its queue, looks up the information (either the current data or current set of
children) simultaneously sets up the next watch, and passes the result to the
listener.
The regression introduced in KAFKA-5028 is the time at which we lookup the
information needed for the event processing.
In the past, the lookup from the ZkEventThread during ZkEvent processing
would be passed into the listener which is processed immediately after. For
instance in ZkClient.fireChildChangedEvents:
```
List<String> children = getChildren(path);
listener.handleChildChange(path, children);
```
Now, however, there are multiple listeners that pass information looked up
by the ZkEventThread into a ControllerEvent which gets processed potentially
much later. For instance in BrokerChangeListener:
```
class BrokerChangeListener(controller: KafkaController) extends
IZkChildListener with Logging {
override def handleChildChange(parentPath: String, currentChilds:
java.util.List[String]): Unit = {
import JavaConverters._
controller.addToControllerEventQueue(controller.BrokerChange(currentChilds.asScala))
}
}
```
In terms of impact, this:
- increases the odds of working with stale information by the time the
ControllerEvent gets processed.
- can cause the cluster to take a long time to stabilize if you bring up
many brokers simultaneously.
In terms of how to solve it:
- (short term) just ignore the ZkClient's information lookup and repeat the
lookup at the start of the ControllerEvent. This is the approach taken in this
ticket.
- (long term) try to remove a queue. This basically means getting rid of
ZkClient. This is likely the approach that will be taken in KAFKA-5501.
Author: Onur Karaman <[email protected]>
Reviewers: Ismael Juma <[email protected]>, Jun Rao <[email protected]>
Closes #3413 from onurkaraman/KAFKA-5502
commit 4baca9172dd662c2e45cd99c638a052eeca688c5
Author: Matthias J. Sax <[email protected]>
Date: 2017-06-22T22:00:29Z
HOTFIX: reduce log verbosity on commit
Author: Matthias J. Sax <[email protected]>
Reviewers: Bill Bejeck <[email protected]>, Eno Thereska
<[email protected]>, Ismael Juma <[email protected]>
Closes #3414 from mjsax/hotfix-commit-logging
commit b62cccd078210a5333a6dbc64881dd36f925e139
Author: Matthias J. Sax <[email protected]>
Date: 2017-06-22T23:16:07Z
MINOR: improve test README
Author: Matthias J. Sax <[email protected]>
Reviewers: Ewen Cheslack-Postava <[email protected]>
Closes #3416 from mjsax/minor-aws
commit ac539796478d6f39933d02f52e9c8972ac07466c
Author: Matthias J. Sax <[email protected]>
Date: 2017-06-22T23:42:55Z
MINOR: update AWS test setup guide
Author: Matthias J. Sax <[email protected]>
Reviewers: Joseph Rea <[email protected]>, Ewen
Cheslack-Postava <[email protected]>
Closes #2575 from mjsax/minor-update-system-test-readme
commit 2420491f417012ba5215a9f72fa5e3a0c586c8e8
Author: Damian Guy <[email protected]>
Date: 2017-06-23T07:59:13Z
KAFKA-4913; prevent creation of window stores with less than 2 segments
Throw IllegalArgumentException when attempting to create a `WindowStore`
via `Stores` or directly with `RocksDBWindowStoreSupplier` when it has less
than 2 segments.
Author: Damian Guy <[email protected]>
Reviewers: Eno Thereska <[email protected]>, Matthias J. Sax
<[email protected]>, Bill Bejeck <[email protected]>, Guozhang Wang
<[email protected]>
Closes #3410 from dguy/kafka-4913
commit 26eea1d71e57348284ea00182045c8d943336f4e
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-23T10:32:47Z
KAFKA-4656; Improve test coverage of CompositeReadOnlyKeyValueStore
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J. Sax <[email protected]>, Eno Thereska
<[email protected]>, Damian Guy <[email protected]>
Closes #3292 from jeyhunkarimov/KAFKA-4656
commit 701e318ee1046946ce6681a59223504d8c33d751
Author: Jeyhun Karimov <[email protected]>
Date: 2017-06-23T10:41:02Z
KAFKA-4653; Improve test coverage of RocksDBStore
Author: Jeyhun Karimov <[email protected]>
Reviewers: Matthias J. Sax <[email protected]>, Damian Guy
<[email protected]>
Closes #3294 from jeyhunkarimov/KAFKA-4653
commit 9ada0f81695d99587b18bffe939de651065076ab
Author: ppatierno <[email protected]>
Date: 2017-06-23T13:14:18Z
MINOR: Fixed way how logging methods are used for having a consistent one
In the stream library there are few cases where we don't leverage on
logging methods features (i.e. using {} placeholder instead of string
concatenation or passing the exception variable)
Author: ppatierno <[email protected]>
Reviewers: Damian Guy <[email protected]>
Closes #3419 from ppatierno/streams-consistent-logging
commit b490368735b3bfe82acab3f2db4894a757abb966
Author: Eno Thereska <[email protected]>
Date: 2017-06-23T14:56:29Z
HOTFIX: Don't check metadata unless you are creating topic
During a broker rolling upgrade, it's likely we don't have enough brokers
ready yet. If streams does not need to create a topic it shouldn't check how
many brokers are up.
The system test for this is in a separate PR:
https://github.com/apache/kafka/pull/3411
Author: Eno Thereska <[email protected]>
Reviewers: Damian Guy <[email protected]>
Closes #3418 from enothereska/hotfix-replication
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---