Skip to content

fix: include online gRPC subscriptions in topic-based admin queries - #11233

Open
3219378872 wants to merge 1 commit into
apache:developfrom
3219378872:fix/proxy-admin-topic-discovery
Open

3219378872 wants to merge 1 commit into
apache:developfrom
3219378872:fix/proxy-admin-topic-discovery

Conversation

@3219378872

Copy link
Copy Markdown

Which Issue(s) This PR Fixes

Fixes #11232.

Brief Description

A newly connected gRPC SimpleConsumer can be visible in group-based Proxy Admin subscription queries but absent from topic-based queries until the broker has a consumer offset for it. Topic-only group discovery previously consulted only broker registrations/offsets, so it never reached the existing Proxy-side connection merge for this group.

Include the Proxy consumer manager's topic groups in resolveGroups, deduplicating them with the broker result. Existing broker discovery, group-only requests, topic filtering, and discovery-error behavior remain intact; a missing Proxy consumer manager keeps broker-only behavior.

How Did You Test This Change?

  • 117 relevant tests passed, including 9 new loopback gRPC regressions for local registrations, a peer RemoteChannel registration, source deduplication, broker-only groups, unrelated topics, combined filters, absent consumer manager, and broker discovery errors. Checkstyle and SpotBugs passed in the normal Maven lifecycle.
  • Real local NameServer + Broker + cluster-mode Proxy, with official rocketmq-client-java:5.2.2 SimpleConsumer in a separate JVM. Before any receive/ack, all four RPCs returned OK; the original implementation returned one subscription by group and zero by topic for both List/Describe. The same fixture with the fix returns one in all four queries.
  • The live check asserts that the Proxy knows the group while the broker registration index, offset index, and real MQAdminExt topic-group query are empty. The live check uses one Proxy; peer replication is represented by the RemoteChannel component regression, not claimed as a live multi-Proxy test.
mvn -B -ntp -pl proxy -am \
  -Dtest=ProxyAdminTopicDiscoveryTest,ProxyAdminGrpcServiceTest,ProxyAdminAuthInterceptorTest,AdminModelConverterTest,DefaultAdminServiceTest,ProxyConfigTest \
  -Dsurefire.failIfNoSpecifiedTests=false test

Raw test results, pinned SDK fixture, and original/fixed runtime logs. Validation used Temurin 8u504 and Maven 3.9.9. This is an isolated local runtime test, not a production deployment or full-project test claim. Prepared with Codex assistance.

@3219378872

Copy link
Copy Markdown
Author

The seven pull-request workflows for head 54a03d8b6a8f8a2b96f64aa301d434e23a7678f3 currently report action_required. The Maven run has no jobs, so upstream tests have not run yet. Could a maintainer please approve the pending workflow runs? The local validation and its scope are documented in the PR description; they do not replace upstream CI. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Topic-only Proxy Admin subscription queries omit online gRPC consumers without offsets

1 participant