Federico Valeri created KAFKA-20183:
---------------------------------------

             Summary: Share consumer group fails when group ID contains colon 
character
                 Key: KAFKA-20183
                 URL: https://issues.apache.org/jira/browse/KAFKA-20183
             Project: Kafka
          Issue Type: Bug
          Components: clients, group-coordinator
    Affects Versions: 4.2.0
            Reporter: Federico Valeri
            Assignee: Federico Valeri


The share partition key format is groupId:topicId:partition (per KIP-932). 
SharePartitionKey.validate() splits on : and expects exactly 3 tokens. When the 
group ID itself contains :, the split produces more than 3 tokens, causing 
validation to fail with IllegalArgumentException.

This breaks the FindCoordinator RPC (CoordinatorType.SHARE) and the share 
consumer enters a silent failure loop it keeps polling but receives no data, 
with no error surfaced to the client.

Share consumers with : in the group ID cannot consume data at all. The broker 
continuously fails on FindCoordinator requests.

Reproducer:

In a 3-broker cluster:
{code}
bin/kafka-console-share-consumer.sh --topic quickstart-events 
--bootstrap-server localhost:9092 --group "abc:dd"
{code}

Note: the bug triggers when the partition leader is on a different node from 
the share group coordinator, forcing a FindCoordinator RPC.

Broker log:

{code}
[2026-02-13 09:09:44,781] ERROR Unable to find coordinator for 
InitializeStateHandler using key SharePartitionKey{groupId=abc:dd, 
topicIdPartition=7t5Mho2yQ1mt8kZnE80S9Q:null-0}: This most likely occurs 
because of a request being malformed by the client library or the message was 
sent to an incompatible broker. See the broker logs for more details.. 
(org.apache.kafka.server.share.persister.PersisterStateManager$InitializeStateHandler)
[2026-02-13 09:09:44,783] ERROR [GroupCoordinator id=1] Received error while 
calling initialize state for abc:dd on persister, errorCode: 42. 
(org.apache.kafka.coordinator.group.GroupCoordinatorService)
[2026-02-13 09:09:49,781] ERROR Unable to find coordinator for 
InitializeStateHandler using key SharePartitionKey{groupId=abc:dd, 
topicIdPartition=7t5Mho2yQ1mt8kZnE80S9Q:null-0}: This most likely occurs 
because of a request being malformed by the client library or the message was 
sent to an incompatible broker. See the broker logs for more details.. 
(org.apache.kafka.server.share.persister.PersisterStateManager$InitializeStateHandler)
[2026-02-13 09:09:49,781] ERROR [GroupCoordinator id=1] Received error while 
calling initialize state for abc:dd on persister, errorCode: 42. 
(org.apache.kafka.coordinator.group.GroupCoordinatorService)
[2026-02-13 09:09:54,784] ERROR [KafkaApi-1] Share coordinator key is invalid 
(kafka.server.KafkaApis)
java.lang.IllegalArgumentException: Invalid key format: expected - 
groupId:topicId:partition, found -  abc:dd:7t5Mho2yQ1mt8kZnE80S9Q:0
        at 
org.apache.kafka.server.share.SharePartitionKey.validate(SharePartitionKey.java:98)
        at kafka.server.KafkaApis.getCoordinator(KafkaApis.scala:1249)
        at 
kafka.server.KafkaApis.$anonfun$handleFindCoordinatorRequestV4AndAbove$1(KafkaApis.scala:1192)
        at 
scala.collection.StrictOptimizedIterableOps.map(StrictOptimizedIterableOps.scala:100)
        at 
scala.collection.StrictOptimizedIterableOps.map$(StrictOptimizedIterableOps.scala:87)
        at 
scala.collection.convert.JavaCollectionWrappers$JListWrapper.map(JavaCollectionWrappers.scala:138)
        at 
kafka.server.KafkaApis.handleFindCoordinatorRequestV4AndAbove(KafkaApis.scala:1191)
        at 
kafka.server.KafkaApis.handleFindCoordinatorRequest(KafkaApis.scala:1184)
        at kafka.server.KafkaApis.handle(KafkaApis.scala:175)
        at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:163)
        at java.base/java.lang.Thread.run(Thread.java:1583)
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to