The GitHub Actions job "Build and Run Tests by Maven" on rocketmq.git/fix/rebalance-mq-changed-null-subscription has failed. Run started by GitHub user zjncs (triggered by zjncs).
Head commit for run: 2b73809bd3e9a52a91f987e40f601d9a57e2c7b8 / zjncs <[email protected]> [ISSUE #D1] Skip queue-change notification for concurrently removed subscription RebalanceImpl.doRebalance iterates the subscriptionInner entry set and, when the allocation changes, hands the topic to messageQueueChanged. The push implementation re-reads subscriptionInner.get(topic) and immediately dereferences it (getSubVersion/setSubVersion). DefaultMQPushConsumer .unsubscribe() runs on a different thread and can remove the entry between the rebalance snapshot and this call, so the rebalance thread dies with an NPE instead of finishing the rebalance of the remaining topics. Guard the null subscription: log and return, since there is nothing to update or notify for a topic this consumer no longer subscribes to. Test: RebalancePushImplTest#testMessageQueueChanged_SubscriptionRemovedConcurrently fails with NullPointerException on unpatched code and passes after the guard (8/8 in the class). Signed-off-by: zjncs <[email protected]> Report URL: https://github.com/apache/rocketmq/actions/runs/34434477827 With regards, GitHub Actions via GitBox
