The GitHub Actions job "Build and Run Tests by Bazel" on 
rocketmq.git/fix/register-broker-null-dataversion has failed.
Run started by GitHub user zjncs (triggered by zjncs).

Head commit for run:
bcc77f7f53221e13c1d2f8d97b863f4130547acc / zjncs <[email protected]>
[ISSUE #D13] Honor registerBroker's null-tolerant wrapper contract before its 
guards

registerBroker dereferences topicConfigWrapper.getDataVersion() and
getTopicConfigTable() before the null checks that the same method
applies later (null != topicConfigWrapper at the topic registration
block, tcTable != null, and the null wrapper fallback when building
BrokerLiveInfo). A wrapper decoded from a malformed register body can
carry explicit null fields, so those early dereferences throw NPE and
the catch clause aborts the registration after clusterAddrTable and
brokerAddrTable were already mutated, leaving the broker partially
registered until its next heartbeat. A null getDataVersion() would
also be stored into brokerLiveTable and make every later
address-change registration for that broker NPE at the version
comparison.

Skip the version-conflict rejection and the single-topic rejection
when the fields they need are missing, and fall back to a fresh
DataVersion for BrokerLiveInfo.

Signed-off-by: zjncs <[email protected]>

Report URL: https://github.com/apache/rocketmq/actions/runs/34468136209

With regards,
GitHub Actions via GitBox

Reply via email to