Oh, and one more tidbit: below are the responses if I manually send a DescribeGroupsRequest to each of the brokers with the given consumer group name:
(from Broker #1): DescribeGroupsResponse_v0(groups=[(error_code=0, group='details-log-etl', state='Stable', protocol_type='consumer', protocol='standard', members=[(member_id='tracking.etl-6e0e1be8-939c-445e-bf44-26ed6c37b147', client_id='tracking.etl', client_host='/fd00:ea51:d057:0:1:0:0:2', member_metadata=b'\x00\x00\x00\x00\x00\x01\x00\rtest-messages\xff\xff\xff\xff', member_assignment=b'\x00\x00\x00\x00\x00\x01\x00\x10tracking.details\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff')])]) (from Broker #2): details-log-etl 2 DescribeGroupsResponse_v0(groups=[(error_code=0, group='details-log-etl', state='AwaitingSync', protocol_type='consumer', protocol='', members=[(member_id='tracking.etl-3c81b0e8-7683-474a-ab85-d809392db6ed', client_id='tracking.etl', client_host='/fd00:ea51:d057:0:1:0:0:2', member_metadata=b'', member_assignment=b'')])]) On Tue, Nov 1, 2016 at 1:50 PM, James Brown <jbr...@easypost.com> wrote: > Here's another strange bug that we're seeing after upgrading to Kafka > 0.10.1.0: one of our consumer groups is appearing twice in the list, and > appears to belong to two different nodes. > > % kafka-consumer-groups.sh --bootstrap-server localhost:40172 --list | > sort | uniq -c | sort -n | grep -v '^ *1' > 2 details-log-etl > > If I manually send a ListGroups request to each node, the offending > consumer group shows up twice (once as owned by broker ID 1 and once as > owned by broker ID 2). If I manually send an OffsetFetchRequest to Broker > #1 and Broker #2 with the given group name, I get back conflicting > responses: > > (from Broker #1): > OffsetFetchResponse_v1(topics=[(topic='tracking.details', > partitions=[(partition=0, offset=85606947, metadata='', error_code=0)])]) > > (from Broker #2): > OffsetFetchResponse_v1(topics=[(topic='tracking.details', > partitions=[(partition=0, offset=83718751, metadata='', error_code=0)])]) > > The offset=85606947 response is correct. > > If I use the GroupCoordinatorRequest API, both broker 1 and broker2 > return a result that broker 1 is the coordinator. The actual consuming > application seems unaffected and is proceeding as expected using broker 1. > > This isn't actually breaking anything critical (since, like I said, actual > consumers seem to be doing the right thing), but it's breaking monitoring, > and it concerns me that such a duplicate is possible. > > I haven't tried bouncing the consumer yet to see if that fixes it; I > figured I'd e-mail out just in case there was anything else folks wanted me > to look at first. > -- > James Brown > Engineer > -- James Brown Engineer