[
https://issues.apache.org/jira/browse/KAFKA-20183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058336#comment-18058336
]
Luke Chen commented on KAFKA-20183:
-----------------------------------
I think there are 2 issues in this ticket:
1. No group id characters restriction, also should we worry about the existing
share group id migration? Like replacing `:` to `-` or something?
2. Silent consumers. When findCoordinator failure, there is no error returning
to client. This log obviously should be logged in the client side, but only can
be seen in the broker side.
[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)
cc [~schofielaj]
> 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
> Priority: Blocker
>
> 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)