Fix ClassCastException during hinted handoff deliveries patch by slebresne; reviewed by jbellis for CASSANDRA-3694
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a6a4beb0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a6a4beb0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a6a4beb0 Branch: refs/heads/trunk Commit: a6a4beb0e499898d6012941b1c9b59cc7f93f030 Parents: 9a76e64 Author: Sylvain Lebresne <[email protected]> Authored: Wed Jan 4 17:09:56 2012 +0100 Committer: Sylvain Lebresne <[email protected]> Committed: Wed Jan 4 17:09:56 2012 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/cassandra/db/HintedHandOffManager.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6a4beb0/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 798fde7..1f6a4fd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -40,6 +40,7 @@ * fix LeveledCompactionStrategy broken because of generation pre-allocation in LeveledManifest (CASSANDRA-3691) * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) 1.0.7 http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6a4beb0/src/java/org/apache/cassandra/db/HintedHandOffManager.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index 272d415..b991bae 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -346,7 +346,8 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean ColumnFamilyStore hintStore = Table.open(Table.SYSTEM_TABLE).getColumnFamilyStore(HINTS_CF); IPartitioner p = StorageService.getPartitioner(); - Range range = new Range(p.getMinimumToken(), p.getMinimumToken(), p); + RowPosition minPos = p.getMinimumToken().minKeyBound(); + Range<RowPosition> range = new Range<RowPosition>(minPos, minPos, p); IFilter filter = new NamesQueryFilter(ImmutableSortedSet.<ByteBuffer>of()); List<Row> rows = hintStore.getRangeSlice(null, range, Integer.MAX_VALUE, filter, null); for (Row row : rows)
