The GitHub Actions job "Misspell Check" on rocketmq.git/fix/queue-mapping-clean-null-remote-items has succeeded. Run started by GitHub user Felix-Gong (triggered by RongtongJin).
Head commit for run: 947ad6dfc7beb07e0287d971abd304996b0af2cf / Felix-Gong <[email protected]> [ISSUE #11481] fix(broker): do not abort the queue-mapping clean pass on a missing remote queue cleanItemListMoreThanSecondGen() validates, for every queue whose leader moved, that the new leader agrees. It reads the new leader's hosted queues with get(qId) and calls isEmpty() on the result unconditionally: when the remote broker's mapping does not contain that queue id at all — the transient state this service exists to reconcile — the read returns null and the pass dies with a NullPointerException. The exception is swallowed by the per-topic catch, so the visible damage is silent: every remaining queue of that topic is skipped for this cycle, the mapping is left half-cleaned, and the failure repeats every five minutes. Treat a missing remote queue as "not confirmed yet" and continue, which is how the surrounding reads already handle absent data. Red/green: remoteLeaderMissingTheQueueIdDoesNotAbortTheRestOfTheTopic fails on the old code (the second queue is never removed because the NPE aborts the pass) and passes with the null guard. Broker module: 815 tests, the 7 failures are pre-existing (RocksDB/filter/schedule/pop-lite/ BrokerOuterAPI) and reproduce identically with this change stashed. Report URL: https://github.com/apache/rocketmq/actions/runs/39700166782 With regards, GitHub Actions via GitBox
