From 70ee8febbefade12c273bfb0a0455ccb8efca4c8 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Fri, 18 Dec 2009 15:10:26 +0000 Subject: [PATCH] fix off-by-one error in MerkleTree. patch by Stu Hood; reviewed by gdusbabek for CASSANDRA-639 git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/branches/cassandra-0.5@892271 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/utils/MerkleTree.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 73a6717c08..3a2d8781c0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ * fix data streaming on windows (CASSANDRA-630) * GC compacted sstables after cleanup and compaction (CASSANDRA-621) * Speed up anti-entropy validation (CASSANDRA-629) + * Fix anti-entropy assertion error (CASSANDRA-639) * Fix pending range conflicts when bootstapping or moving multiple nodes at once (CASSANDRA-603) diff --git a/src/java/org/apache/cassandra/utils/MerkleTree.java b/src/java/org/apache/cassandra/utils/MerkleTree.java index 5cf46cd20d..2cc47c122f 100644 --- a/src/java/org/apache/cassandra/utils/MerkleTree.java +++ b/src/java/org/apache/cassandra/utils/MerkleTree.java @@ -51,7 +51,7 @@ public class MerkleTree implements Serializable { private static final long serialVersionUID = 2L; - public static final byte RECOMMENDED_DEPTH = Byte.MAX_VALUE; + public static final byte RECOMMENDED_DEPTH = Byte.MAX_VALUE - 1; public static final int CONSISTENT = 0; public static final int FULLY_INCONSISTENT = 1; @@ -73,6 +73,7 @@ public class MerkleTree implements Serializable */ public MerkleTree(IPartitioner partitioner, byte hashdepth, long maxsize) { + assert hashdepth < Byte.MAX_VALUE; this.partitioner = partitioner; this.hashdepth = hashdepth; this.maxsize = maxsize;