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

   ### Motivation
   
   Message deduplication recovery now returns the active recovery future when 
another `checkStatus()` call observes `Recovering`. However, if the topic 
policy changes to disable deduplication while recovery is still in progress, 
the second check only waits for the recovery future and does not apply the new 
disabled target state.
   
   As a result, recovery can complete as `Enabled`, leaving deduplication 
active until another status check happens.
   
   ### Modifications
   
   - Re-check deduplication status after an in-progress recovery completes when 
the desired policy has changed to disabled.
   - Allow disabled policy handling to clean up from `Failed` status as well as 
`Enabled`.
   - Add broker deduplication state-machine tests for policy changes during 
successful and failed recovery.
   
   ### Verifying this change
   
   - `./gradlew :pulsar-broker:test --tests 
org.apache.pulsar.broker.BrokerMessageDeduplicationTest --rerun-tasks`
   
   ### 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