coderzc opened a new pull request, #25781:
URL: https://github.com/apache/pulsar/pull/25781

   ### Motivation
   
   #25736 made broker-level `managedLedgerOffloadExtraConfig*` entries 
available to `OffloadPoliciesImpl.mergeConfiguration(...)`. However, 
`managedLedgerExtraConfigurations` defaults to an empty map, so a namespace or 
topic offload policy with no extra config still stops fallback to broker-level 
extra config.
   
   This can produce merged offload policies that inherit the broker 
driver/bucket/region but lose broker-level extra config such as a 
tiered-storage bucket prefix.
   
   ### Modifications
   
   - Merge `managedLedgerExtraConfigurations` as a map from broker -> namespace 
-> topic.
   - Treat null or empty higher-level extra config maps as unset so 
broker-level entries are inherited.
   - Preserve higher-level key overrides, including an explicit empty-string 
value to clear a broker-level key.
   - Add regression coverage for empty namespace-level extra config inheriting 
broker-level extra config.
   
   ### Verifying this change
   
   - `./gradlew :pulsar-common:test --tests 
org.apache.pulsar.common.policies.data.OffloadPoliciesTest`
   


-- 
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