yuluo-yx opened a new issue, #10876:
URL: https://github.com/apache/rocketmq/issues/10876

   ### Before Creating the Bug Report
   
   - [x] I found a bug, not just a question.
   - [x] I searched open GitHub Issues and pull requests and found no duplicate.
   - [x] I confirmed that this bug belongs to Apache RocketMQ.
   
   ### Runtime platform environment
   
   macOS (Darwin), reproduced with an isolated local unit test.
   
   ### RocketMQ version
   
   Branch: develop
   Git commit: fd0c95920e0deac96ce2ae27442747cc5e65e930
   
   ### JDK Version
   
   Zulu OpenJDK 8 (8.94.0.17)
   
   ### Describe the Bug
   
   BrokerIdentityInfo supports partial identities: RaftReplicasInfoManager 
creates instances with null clusterName and brokerId. However, equals calls 
equals directly on every field, so comparing two valid partial identities 
throws NullPointerException. hashCode is already null-safe.
   
   ### Steps to Reproduce
   
   1. Create two BrokerIdentityInfo instances with null clusterName, brokerName 
set, and null brokerId.
   2. Call equals between them.
   3. Observe NullPointerException.
   
   ### What Did You Expect to See?
   
   Two equivalent partial identities should compare equal and remain consistent 
with hashCode.
   
   ### What Did You See Instead?
   
   equals dereferences nullable fields and throws NullPointerException.
   
   ### Additional Context
   
   Complete identities, partial identities, and differing fields can all be 
covered with a small unit test.


-- 
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]

Reply via email to