RongtongJin opened a new pull request, #10495: URL: https://github.com/apache/rocketmq/pull/10495
## Summary - Wait for the master-side HA connection to observe the slave's initial ack offset before running `HATest` semi-sync message writes. - Add a condition-based readiness helper that checks the slave client is in `TRANSFER` and the master connection ack offset covers the slave max physical offset. ## Root Cause `HATest` previously waited only for the slave-side HA client to enter `TRANSFER`. That state can be reached before the master-side `HAConnection` receives the slave's initial offset report, leaving `slaveAckOffset` at `-1`. The first semi-sync write can race that initial report and return `FLUSH_SLAVE_TIMEOUT` instead of `PUT_OK` on slower CI machines. ## Impact This stabilizes `HATest.testSemiSyncReplica` without changing production HA behavior. Fixes #10494 ## Validation ```bash /tmp/codex-maven/apache-maven-3.9.9/bin/mvn -pl store -am -Dtest=HATest#testSemiSyncReplica -DskipITs -DfailIfNoTests=false test /tmp/codex-maven/apache-maven-3.9.9/bin/mvn -pl store -am -Dtest=HATest -DskipITs -DfailIfNoTests=false test ``` Full `HATest` result: `Tests run: 4, Failures: 0, Errors: 0, Skipped: 1`. -- 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]
