Return-Path: X-Original-To: apmail-accumulo-commits-archive@www.apache.org Delivered-To: apmail-accumulo-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 68ED110274 for ; Wed, 31 Jul 2013 15:48:40 +0000 (UTC) Received: (qmail 53452 invoked by uid 500); 31 Jul 2013 15:48:40 -0000 Delivered-To: apmail-accumulo-commits-archive@accumulo.apache.org Received: (qmail 53367 invoked by uid 500); 31 Jul 2013 15:48:37 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 53354 invoked by uid 99); 31 Jul 2013 15:48:36 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Jul 2013 15:48:36 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 372EE83187A; Wed, 31 Jul 2013 15:48:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: kturner@apache.org To: commits@accumulo.apache.org Message-Id: <7c383d4d5b1c494f859f57c75da22630@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: ACCUMULO-1626 fixed equals method in mutation Date: Wed, 31 Jul 2013 15:48:36 +0000 (UTC) Updated Branches: refs/heads/1.4.4-SNAPSHOT 3e971675c -> acc4fd16f ACCUMULO-1626 fixed equals method in mutation Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/acc4fd16 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/acc4fd16 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/acc4fd16 Branch: refs/heads/1.4.4-SNAPSHOT Commit: acc4fd16f6390579c82e9635a3fa614f3822bfba Parents: 3e97167 Author: Keith Turner Authored: Wed Jul 31 11:48:15 2013 -0400 Committer: Keith Turner Committed: Wed Jul 31 11:48:15 2013 -0400 ---------------------------------------------------------------------- .../org/apache/accumulo/core/data/Mutation.java | 1 + .../apache/accumulo/core/data/MutationTest.java | 69 ++++++++++++++++++++ 2 files changed, 70 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/acc4fd16/src/core/src/main/java/org/apache/accumulo/core/data/Mutation.java ---------------------------------------------------------------------- diff --git a/src/core/src/main/java/org/apache/accumulo/core/data/Mutation.java b/src/core/src/main/java/org/apache/accumulo/core/data/Mutation.java index 4e21b6d..3979da9 100644 --- a/src/core/src/main/java/org/apache/accumulo/core/data/Mutation.java +++ b/src/core/src/main/java/org/apache/accumulo/core/data/Mutation.java @@ -495,6 +495,7 @@ public class Mutation implements Writable { public boolean equals(Mutation m) { serialize(); + m.serialize(); if (Arrays.equals(row, m.row) && entries == m.entries && Arrays.equals(data, m.data)) { if (values == null && m.values == null) return true; http://git-wip-us.apache.org/repos/asf/accumulo/blob/acc4fd16/src/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java b/src/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java index d50c15e..38ddcad 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java @@ -347,4 +347,73 @@ public class MutationTest extends TestCase { assertEquals(m2.getUpdates().get(1), "cf2", "cq2", "cv2", 0l, false, false, "v2"); } + + public void testEquals() { + Mutation m1 = new Mutation("r1"); + + m1.put("cf1", "cq1", "v1"); + m1.put("cf1", "cq1", new ColumnVisibility("A&B"), "v2"); + m1.put("cf1", "cq1", 3, "v3"); + m1.put("cf1", "cq1", new ColumnVisibility("A&B&C"), 4, "v4"); + m1.putDelete("cf2", "cf3"); + m1.putDelete("cf2", "cf4", 3); + m1.putDelete("cf2", "cf4", new ColumnVisibility("A&B&C"), 3); + + // m2 has same data as m1 + Mutation m2 = new Mutation("r1"); + + m2.put("cf1", "cq1", "v1"); + m2.put("cf1", "cq1", new ColumnVisibility("A&B"), "v2"); + m2.put("cf1", "cq1", 3, "v3"); + m2.put("cf1", "cq1", new ColumnVisibility("A&B&C"), 4, "v4"); + m2.putDelete("cf2", "cf3"); + m2.putDelete("cf2", "cf4", 3); + m2.putDelete("cf2", "cf4", new ColumnVisibility("A&B&C"), 3); + + // m3 has differnt row than m1 + Mutation m3 = new Mutation("r2"); + + m3.put("cf1", "cq1", "v1"); + m3.put("cf1", "cq1", new ColumnVisibility("A&B"), "v2"); + m3.put("cf1", "cq1", 3, "v3"); + m3.put("cf1", "cq1", new ColumnVisibility("A&B&C"), 4, "v4"); + m3.putDelete("cf2", "cf3"); + m3.putDelete("cf2", "cf4", 3); + m3.putDelete("cf2", "cf4", new ColumnVisibility("A&B&C"), 3); + + // m4 has a different column than m1 + Mutation m4 = new Mutation("r1"); + + m4.put("cf2", "cq1", "v1"); + m4.put("cf1", "cq1", new ColumnVisibility("A&B"), "v2"); + m4.put("cf1", "cq1", 3, "v3"); + m4.put("cf1", "cq1", new ColumnVisibility("A&B&C"), 4, "v4"); + m4.putDelete("cf2", "cf3"); + m4.putDelete("cf2", "cf4", 3); + m4.putDelete("cf2", "cf4", new ColumnVisibility("A&B&C"), 3); + + // m5 has a different value than m1 + Mutation m5 = new Mutation("r1"); + + m5.put("cf1", "cq1", "v1"); + m5.put("cf1", "cq1", new ColumnVisibility("A&B"), "v2"); + m5.put("cf1", "cq1", 3, "v4"); + m5.put("cf1", "cq1", new ColumnVisibility("A&B&C"), 4, "v4"); + m5.putDelete("cf2", "cf3"); + m5.putDelete("cf2", "cf4", 3); + m5.putDelete("cf2", "cf4", new ColumnVisibility("A&B&C"), 3); + + assertEquals(m1, m1); + assertEquals(m1, m2); + assertEquals(m2, m1); + assertFalse(m1.equals(m3)); + assertFalse(m3.equals(m1)); + assertFalse(m1.equals(m4)); + assertFalse(m4.equals(m1)); + assertFalse(m3.equals(m4)); + assertFalse(m1.equals(m5)); + assertFalse(m5.equals(m1)); + assertFalse(m3.equals(m5)); + assertFalse(m4.equals(m5)); + } }