You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2016/03/09 15:28:28 UTC
[2/6] cassandra git commit: Fix broken BTreeRow.hashCode
Fix broken BTreeRow.hashCode
Patch by Branimir Lambov; reviewed by marcuse for CASSANDRA-11316
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f6af142f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f6af142f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f6af142f
Branch: refs/heads/cassandra-3.5
Commit: f6af142f1e8e9fa86f88b8c3c8bcb9a7294ef0cc
Parents: c2b47ba
Author: Branimir Lambov <br...@datastax.com>
Authored: Tue Mar 8 16:19:57 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Mar 9 15:26:44 2016 +0100
----------------------------------------------------------------------
.../apache/cassandra/db/rows/AbstractRow.java | 2 +-
test/unit/org/apache/cassandra/db/RowTest.java | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f6af142f/src/java/org/apache/cassandra/db/rows/AbstractRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/rows/AbstractRow.java b/src/java/org/apache/cassandra/db/rows/AbstractRow.java
index 0295e2e..59addeb 100644
--- a/src/java/org/apache/cassandra/db/rows/AbstractRow.java
+++ b/src/java/org/apache/cassandra/db/rows/AbstractRow.java
@@ -178,7 +178,7 @@ public abstract class AbstractRow extends AbstractCollection<ColumnData> impleme
@Override
public int hashCode()
{
- int hash = Objects.hash(clustering(), columns(), primaryKeyLivenessInfo(), deletion());
+ int hash = Objects.hash(clustering(), primaryKeyLivenessInfo(), deletion());
for (ColumnData cd : this)
hash += 31 * cd.hashCode();
return hash;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f6af142f/test/unit/org/apache/cassandra/db/RowTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RowTest.java b/test/unit/org/apache/cassandra/db/RowTest.java
index 0af183c..e3f4884 100644
--- a/test/unit/org/apache/cassandra/db/RowTest.java
+++ b/test/unit/org/apache/cassandra/db/RowTest.java
@@ -19,6 +19,8 @@
package org.apache.cassandra.db;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
@@ -165,6 +167,24 @@ public class RowTest
Util.assertEmpty(Util.cmd(cfs, dk).includeRow("c1").withNowInSeconds(nowInSeconds + ttl + 1).build());
}
+ @Test
+ public void testHashCode()
+ {
+ ColumnDefinition defA = cfm.getColumnDefinition(new ColumnIdentifier("a", true));
+ ColumnDefinition defB = cfm.getColumnDefinition(new ColumnIdentifier("b", true));
+
+ Row.Builder builder = BTreeRow.unsortedBuilder(nowInSeconds);
+ builder.newRow(cfm.comparator.make("c1"));
+ writeSimpleCellValue(builder, cfm, defA, "a1", 0);
+ writeSimpleCellValue(builder, cfm, defA, "a2", 1);
+ writeSimpleCellValue(builder, cfm, defB, "b1", 1);
+ Row row = builder.build();
+
+ Map<Row, Integer> map = new HashMap<>();
+ map.put(row, 1);
+ assertEquals(Integer.valueOf(1), map.get(row));
+ }
+
private void assertRangeTombstoneMarkers(Slice.Bound start, Slice.Bound end, DeletionTime deletionTime, Object[] expected)
{
AbstractType clusteringType = (AbstractType)cfm.comparator.subtype(0);