Hi Bill,

Unfortunately logs from the broker are gone, and the logging level of Kafka Streams application was set to info, so there isn't much, but I've attached them. The relevant consumer contains the "aggregate-level3600" name in it, and it's the 23rd partition that was not being consumed after the last rebalance.

Are there are known known scenarios for this to happen? For example, my application doing something wrong within the Kafka Streams so that one partition remains unprocessed?

On 11/07/2019 22:18, Bill Bejeck wrote:
Hi Piotr,

Thanks for reporting this issue.  Can you provide full kafka-streams and
broker logs around the timeframe you observed this?

-Bill

On Thu, Jul 11, 2019 at 8:53 AM Piotr Strąk <piotr.st...@relayr.io> wrote:

Hello,

I'm investigating an issue in which a Kafka Streams application does not
consume from one of the partitions it was assigned. I'm using the 2.3.0
version.

All the fetch requests are sent for two partitions only:

  > Using older server API v6 to send FETCH
{replica_id=-1,max_wait_time=500,min_bytes=1,max_bytes=52428800,isolation_level=0,topics=[{topic=Topic_v2,partitions=[{partition=25,fetch_offset=71484113,log_start_offset=-1,partition_max_bytes=1048576},{partition=22,fetch_offset=71296374,log_start_offset=-1,partition_max_bytes=1048576}]}]}

with correlation id 1049090 to node 1

But there should be three of them; using kafka-consumer-groups.sh I can
see that the third one (partition 23) that has no current offset.

  > Topic_v2    22         71296374        71296374 0
Topic-c1f03-StreamThread-1-consumer
  > Topic_v2    23         -                      72830772 -
Topic-c1f03-StreamThread-1-consumer
  > Topic_v2    25         71484113        71484113 0
Topic-c1f03-StreamThread-1-consumer

It worked fine until the partition was revoked, but absolutely nothing
happened afterwards. Notice that the (shortened by me) clientId has
changed.

  > 2019-07-10 02:15:36.347 [INFO]
ConsumerCoordinator:Topic-c1f03-StreamThread-1 - [Consumer
clientId=Topic-c1f03-StreamThread-1-consumer, groupId=Topic] Setting
offset for partition Topic_v2-23 to the committed offset
FetchPosition{offset=68735327, offsetEpoch=Optional.empty,
currentLeader=LeaderAndEpoch{leader=ip-10-0-1-81.us-west-2.compute.internal:9092

(id: 3 rack: null), epoch=-1}}
  > 2019-07-10 02:15:36.383 [INFO]
ConsumerCoordinator:Topic-3e717-StreamThread-1 - [Consumer
clientId=Topic-3e717-StreamThread-1-consumer, groupId=Topic] Revoking
previously assigned partitions [Topic_v2-23]
  > 2019-07-10 02:15:36.498 [INFO]
ConsumerCoordinator:Topic-3e717-StreamThread-1 - [Consumer
clientId=Topic-3e717-StreamThread-1-consumer, groupId=Topic] Setting
newly assigned partitions: Topic_v2-23
  > 2019-07-10 02:15:36.506 [INFO]
ConsumerCoordinator:Topic-3e717-StreamThread-1 - [Consumer
clientId=Topic-3e717-StreamThread-1-consumer, groupId=Topic] Setting
offset for partition Topic_v2-23 to the committed offset
FetchPosition{offset=70030508, offsetEpoch=Optional.empty,
currentLeader=LeaderAndEpoch{leader=ip-10-0-1-81.us-west-2.compute.internal:9092

(id: 3 rack: null), epoch=-1}}

What could be a reason that this partition is not included in the fetch
request? It uses a single thread to process it (num.stream.threads set
to 1), so if the thread was locked it couldn't keep working on two other
partitions, if I understand correctly.


Attachment: kafka-streams.tar.gz
Description: GNU Zip compressed data

Reply via email to