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)