Aias00 opened a new pull request, #10652:
URL: https://github.com/apache/rocketmq/pull/10652

   ## Summary
   
   Fixes #10577.
   
   This change keeps reentrant orderly POP receive requests broker-sticky when 
the request carries an `attemptId`.
   
   ## Motivation
   
   Reentrant orderly POP depends on broker-local order state. If a retry with 
the same `attemptId` asks for a specific broker but the selector silently falls 
back to another broker, the retry can lose access to the original broker-local 
`OrderInfo` and leave the FIFO queue blocked until invisible time expires.
   
   ## Changes
   
   - Pass a broker-sticky flag into `ReceiveMessageQueueSelector` only for FIFO 
receive requests carrying `attemptId`.
   - When sticky mode is enabled and the requested broker is unavailable, 
return `null` instead of falling back to another broker.
   - Preserve the existing fallback behavior for non-sticky receive requests.
   - Extend `ReceiveMessageActivityTest` to cover both fallback and 
sticky-missing-broker behavior.
   
   ## Verification
   
   ```text
   mvn -pl proxy -Dtest=ReceiveMessageActivityTest test \
     -DfailIfNoTests=false -Djacoco.skip=true \
     -Dspotbugs.skip=true -Dcheckstyle.skip=true -Drat.skip=true
   
   Tests run: 9, Failures: 0, Errors: 0, Skipped: 0
   BUILD SUCCESS
   ```
   
   ```text
   mvn -pl proxy -DskipTests -Dspotbugs.skip=true -Drat.skip=true compile
   
   Checkstyle violations: 0
   BUILD SUCCESS
   ```
   
   `git diff --check` is clean.
   


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