The GitHub Actions job "CodeQL Analysis" on rocketmq.git/fix/response-table-race-condition has succeeded. Run started by GitHub user wang-jiahua (triggered by wang-jiahua).
Head commit for run: c100a62cd708b709c283f73e7dd8f71a876b27fd / wangjiahua.wjh <[email protected]> [ISSUE #10575] Fix race condition between scanResponseTable and processResponseCommand processResponseCommand used get+remove (non-atomic) to retrieve ResponseFuture from responseTable. scanResponseTable used iterator.remove(). If the response arrived between scanResponseTable's remove and processResponseCommand's get, the response would be logged as 'not matched any request' and silently dropped. The callback would fire with timeout instead of success, even though the broker had successfully processed the request. Fix: Use ConcurrentHashMap.remove(key) in both methods. This is atomic: either processResponseCommand gets the future (and executes success callback), or scanResponseTable gets it (and executes timeout callback), but never both and never neither. Report URL: https://github.com/apache/rocketmq/actions/runs/28580479243 With regards, GitHub Actions via GitBox
