AndrewJSchofield commented on code in PR #18649:
URL: https://github.com/apache/kafka/pull/18649#discussion_r1924020714
##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java:
##########
@@ -878,22 +877,22 @@ ShareGroup getOrMaybeCreatePersistedShareGroup(
Group group = groups.get(groupId);
if (group == null && !createIfNotExists) {
- throw new IllegalStateException(String.format("Share group %s not
found.", groupId));
+ throw new GroupIdNotFoundException(String.format("Share group %s
not found.", groupId));
}
if (group == null) {
ShareGroup shareGroup = new ShareGroup(snapshotRegistry, groupId);
groups.put(groupId, shareGroup);
return shareGroup;
+ } else {
+ if (group.type() == SHARE) {
+ return (ShareGroup) group;
+ } else {
+ // We don't support upgrading/downgrading between protocols at
the moment so
+ // we throw an exception if a group exists with the wrong type.
+ throw new IllegalStateException(String.format("Group %s is not
a share group.", groupId));
Review Comment:
Actually, if you look at `getOrMaybeCreatePersistedConsumerGroup`, I believe
this works in the same way. The group type check should have happened earlier
on. If we're in this method with the wrong group type, it's an
`IllegalStateException`. I may be wrong, but that's my reading here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]