GitHub user jerryshao opened a pull request:
[SPARK-22968][DStream] Fix Kafka connector partition revoked issue
## What changes were proposed in this pull request?
Kafka partitions can be revoked when new consumers joined in the consumer
group to rebalance the partitions. But current Spark Kafka connector code
doesn't consider partition revoking scenarios, trying to get latest offset from
revoked partitions, which will throw exceptions as JIRA mentioned.
To reproduce this issue, user could start two `DirectKafkaWordCount`
example subsequently. When the later one is started, it will trigger rebalance
and reallocate the partitions across all the consumers, then the former one
will throw an exception and stop the app.
To fix it, Spark Kafka connector should consider partition revoking
scenarios and don't maintain offsets for revoked partitions.
Besides, this PR also fixes bugs in `DirectKafkaWordCount`, this example
simply cannot be worked without the fix.
8/01/05 09:48:27 INFO internals.ConsumerCoordinator: Revoking previously
assigned partitions [kssh-7, kssh-4, kssh-3, kssh-6, kssh-5, kssh-0, kssh-2,
kssh-1] for group use_a_separate_group_id_for_each_stream
18/01/05 09:48:27 INFO internals.AbstractCoordinator: (Re-)joining group
18/01/05 09:48:27 INFO internals.AbstractCoordinator: Successfully joined
group use_a_separate_group_id_for_each_stream with generation 4
18/01/05 09:48:27 INFO internals.ConsumerCoordinator: Setting newly
assigned partitions [kssh-7, kssh-4, kssh-6, kssh-5] for group
## How was this patch tested?
This is manually verified in local cluster, unfortunately I'm not sure how
to simulate it in UT, so propose the PR without UT added.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jerryshao/apache-spark SPARK-22968
Alternatively you can review and apply these changes as the patch at:
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #21038
Author: jerryshao <sshao@...>
Fix Kafka connector partition revoked issue
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org