Demogorgon314 opened a new pull request, #25518: URL: https://github.com/apache/pulsar/pull/25518
### Motivation When unloading a namespace bundle with `destinationBroker` under `ModularLoadManagerImpl`, the affinity key was stored by `bundleRange` only. Different namespaces can share the same bundle range, especially for single-bundle namespaces such as `0x00000000_0xffffffff`. In that case, the destination affinity can collide across namespaces, and the next lookup may consume the affinity for the wrong bundle. As a result, `unload --destinationBroker` may appear ineffective or unstable when transferring multiple bundles that share the same range. ### Modifications - Store namespace bundle destination affinity by full bundle name instead of bare `bundleRange`. - Consume the destination affinity in `ModularLoadManagerWrapper#getLeastLoaded` by full bundle name as well. - Add an admin-side test to verify the affinity key passed to the load manager is the full bundle name. - Add a load manager test to verify affinity lookup is resolved by full bundle name. ### Does this pull request potentially affect one of the following parts: <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. --> *If the box was checked, please highlight the changes* - [ ] Dependencies (add or upgrade a dependency) - [ ] The public API - [ ] The schema - [ ] The default values of configurations - [ ] The threading model - [ ] The binary protocol - [ ] The REST endpoints - [ ] The admin CLI options - [ ] The metrics - [ ] Anything that affects deployment -- 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]
