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]