Fix mergeable cluster result loss for providers sharing a service key by zsewasdsdsd · Pull Request #16512 · apache/dubbo · GitHub
Skip to content

Fix mergeable cluster result loss for providers sharing a service key - #16512

Open
zsewasdsdsd wants to merge 2 commits into
apache:3.3from
zsewasdsdsd:fix/dubbo-16509-merge-provider-results
Open

zsewasdsdsd wants to merge 2 commits into
apache:3.3from
zsewasdsdsd:fix/dubbo-16509-merge-provider-results

Conversation

@zsewasdsdsd

Copy link
Copy Markdown

What is the purpose of the change?

Fixes #16509.

MergeableClusterInvoker previously stored asynchronous results in a map keyed by service key. Multiple providers sharing the same service key could overwrite each other's results, silently losing data before merging.

What changed?

  • Preserve every provider result in an ordered list instead of deduplicating by service key.
  • Retain service keys for existing error diagnostics.
  • Add a regression test with two providers sharing a service key but using different addresses.
  • Verify that merged results contain data from both providers.

Validation

  • RED: The regression test fails against the original implementation with the expected missing-data assertion.
  • GREEN: Both MergeableClusterInvokerTest and MergeableClusterInvokerSameServiceKeyTest pass.
  • Maven build, Spotless, and Checkstyle pass for the focused module build.
  • Only two files changed.
  • Upstream CI is pending.

Tested against Dubbo 3.3.7-SNAPSHOT.

@codecov-commenter

codecov-commenter commented Oct 16, 2026 •

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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] MergeableClusterInvoker drops results from multiple providers with the same service key

2 participants