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]

Reply via email to