Reidddddd commented on a change in pull request #1922:
URL: https://github.com/apache/hbase/pull/1922#discussion_r445481301



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java
##########
@@ -78,4 +82,30 @@ public void execute(Admin admin) {
       LOG.error("Error during region merge: ", ex);
     }
   }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+
+    MergeNormalizationPlan that = (MergeNormalizationPlan) o;
+
+    return new EqualsBuilder()
+      .append(firstRegion, that.firstRegion)
+      .append(secondRegion, that.secondRegion)
+      .isEquals();
+  }
+
+  @Override
+  public int hashCode() {
+    return new HashCodeBuilder(17, 37)

Review comment:
       > please make sure we implement hashCode if we implement equals
   
    `hashCode` and `equals` are not binding. `hashCode` only makes sense when 
object will be used as a key in `Map` or as en element in `Set`, with one rare 
case: `hashCode` is used as a part of judging `equals`.
   
   > then why are we going through ways to optimize the call?
   
   Because I lacked the context. After I read the codes in trunk and got the 
intention of this PR, then found out it unnecessary.




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

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to