You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by ni...@apache.org on 2015/09/22 19:45:47 UTC

samza git commit: SAMZA-731: Fix coordinator message equality comparison

Repository: samza
Updated Branches:
  refs/heads/master 47c33dcfe -> 9ab00c188


SAMZA-731: Fix coordinator message equality comparison


Project: http://git-wip-us.apache.org/repos/asf/samza/repo
Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/9ab00c18
Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/9ab00c18
Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/9ab00c18

Branch: refs/heads/master
Commit: 9ab00c1887470e94e53fe3c6eaef054ae633f672
Parents: 47c33dc
Author: Navina Ramesh <na...@gmail.com>
Authored: Tue Sep 22 10:45:33 2015 -0700
Committer: Yi Pan (Data Infrastructure) <yi...@linkedin.com>
Committed: Tue Sep 22 10:45:33 2015 -0700

----------------------------------------------------------------------
 .../stream/messages/CoordinatorStreamMessage.java        |  6 +++---
 .../coordinator/stream/TestCoordinatorStreamMessage.java | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/samza/blob/9ab00c18/samza-core/src/main/java/org/apache/samza/coordinator/stream/messages/CoordinatorStreamMessage.java
----------------------------------------------------------------------
diff --git a/samza-core/src/main/java/org/apache/samza/coordinator/stream/messages/CoordinatorStreamMessage.java b/samza-core/src/main/java/org/apache/samza/coordinator/stream/messages/CoordinatorStreamMessage.java
index 68e50a1..415c8a5 100644
--- a/samza-core/src/main/java/org/apache/samza/coordinator/stream/messages/CoordinatorStreamMessage.java
+++ b/samza-core/src/main/java/org/apache/samza/coordinator/stream/messages/CoordinatorStreamMessage.java
@@ -292,7 +292,7 @@ public class CoordinatorStreamMessage {
     int result = 1;
     result = prime * result + (isDelete ? 1231 : 1237);
     result = prime * result + Arrays.hashCode(keyArray);
-    result = prime * result + ((messageMap == null) ? 0 : messageMap.hashCode());
+    result = prime * result + ((messageMap == null) ? 0 : getMessageValues() == null ? 0 : getMessageValues().hashCode());
     return result;
   }
 
@@ -302,7 +302,7 @@ public class CoordinatorStreamMessage {
       return true;
     if (obj == null)
       return false;
-    if (getClass() != obj.getClass())
+    if (!(obj instanceof CoordinatorStreamMessage))
       return false;
     CoordinatorStreamMessage other = (CoordinatorStreamMessage) obj;
     if (isDelete != other.isDelete)
@@ -312,7 +312,7 @@ public class CoordinatorStreamMessage {
     if (messageMap == null) {
       if (other.messageMap != null)
         return false;
-    } else if (!messageMap.equals(other.messageMap))
+    } else if (!getMessageValues().equals(other.getMessageValues()))
       return false;
     return true;
   }

http://git-wip-us.apache.org/repos/asf/samza/blob/9ab00c18/samza-core/src/test/java/org/apache/samza/coordinator/stream/TestCoordinatorStreamMessage.java
----------------------------------------------------------------------
diff --git a/samza-core/src/test/java/org/apache/samza/coordinator/stream/TestCoordinatorStreamMessage.java b/samza-core/src/test/java/org/apache/samza/coordinator/stream/TestCoordinatorStreamMessage.java
index 60e2e5d..3e8015b 100644
--- a/samza-core/src/test/java/org/apache/samza/coordinator/stream/TestCoordinatorStreamMessage.java
+++ b/samza-core/src/test/java/org/apache/samza/coordinator/stream/TestCoordinatorStreamMessage.java
@@ -69,4 +69,15 @@ public class TestCoordinatorStreamMessage {
     assertTrue(delete.isDelete());
     assertEquals(CoordinatorStreamMessage.VERSION, delete.getVersion());
   }
+
+  @Test
+  public void testHashCodeAndEquality() {
+    SetConfig message = new SetConfig("source", "key1", "value1");
+    SetConfig message1 = new SetConfig("source", "key1", "value1");
+    SetConfig message2 = new SetConfig("source", "key2", "value1");
+
+    assertEquals(message.hashCode(), message1.hashCode());
+    assertEquals(message, message1);
+    assertTrue(!message.equals(message2));
+  }
 }