You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/07/18 21:56:33 UTC
svn commit: r1148029 - in /cassandra/trunk:
src/java/org/apache/cassandra/io/sstable/SSTableReader.java
src/java/org/apache/cassandra/streaming/IncomingStreamReader.java
test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
Author: jbellis
Date: Mon Jul 18 19:56:32 2011
New Revision: 1148029
URL: http://svn.apache.org/viewvc?rev=1148029&view=rev
Log:
ensure that we never estimate 0 keys when streaming non-empty ranges
patch by Stu Hood; reviewed by jbellis for CASSANDRA-2916
Modified:
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
cassandra/trunk/src/java/org/apache/cassandra/streaming/IncomingStreamReader.java
cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
Modified: cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1148029&r1=1148028&r2=1148029&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Mon Jul 18 19:56:32 2011
@@ -393,7 +393,7 @@ public class SSTableReader extends SSTab
List<Pair<Integer, Integer>> sampleIndexes = getSampleIndexesForRanges(indexSummary.getIndexPositions(), ranges);
for (Pair<Integer, Integer> sampleIndexRange : sampleIndexes)
sampleKeyCount += (sampleIndexRange.right - sampleIndexRange.left + 1);
- return sampleKeyCount * DatabaseDescriptor.getIndexInterval();
+ return Math.max(1, sampleKeyCount * DatabaseDescriptor.getIndexInterval());
}
/**
@@ -444,7 +444,7 @@ public class SSTableReader extends SSTab
right--;
}
- if (left >= right)
+ if (left > right)
// empty range
continue;
positions.add(new Pair(Integer.valueOf(left), Integer.valueOf(right)));
Modified: cassandra/trunk/src/java/org/apache/cassandra/streaming/IncomingStreamReader.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/streaming/IncomingStreamReader.java?rev=1148029&r1=1148028&r2=1148029&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/streaming/IncomingStreamReader.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/streaming/IncomingStreamReader.java Mon Jul 18 19:56:32 2011
@@ -82,7 +82,9 @@ public class IncomingStreamReader
if (logger.isDebugEnabled())
{
logger.debug("Receiving stream");
- logger.debug("Creating file for {}", localFile.getFilename());
+ logger.debug("Creating file for {} with {} estimated keys",
+ localFile.getFilename(),
+ remoteFile.estimatedKeys);
}
SSTableReader reader = null;
Modified: cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java?rev=1148029&r1=1148028&r2=1148029&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java (original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java Mon Jul 18 19:56:32 2011
@@ -66,9 +66,10 @@ public class StreamingTransferTest exten
for (int i = 1; i <= 3; i++)
{
String key = "key" + i;
+ String col = "col" + i;
RowMutation rm = new RowMutation("Keyspace1", ByteBufferUtil.bytes(key));
ColumnFamily cf = ColumnFamily.create(table.name, cfs.columnFamily);
- cf.addColumn(column(key, "v", 0));
+ cf.addColumn(column(col, "v", 0));
cf.addColumn(new Column(ByteBufferUtil.bytes("birthdate"), ByteBufferUtil.bytes((long) i), 0));
rm.add(cf);
rm.apply();
@@ -94,7 +95,7 @@ public class StreamingTransferTest exten
assert rows.get(1).key.key.equals( ByteBufferUtil.bytes("key3"));
assertEquals(2, rows.get(0).cf.getColumnsMap().size());
assertEquals(2, rows.get(1).cf.getColumnsMap().size());
- assert rows.get(1).cf.getColumn(ByteBufferUtil.bytes("key3")) != null;
+ assert rows.get(1).cf.getColumn(ByteBufferUtil.bytes("col3")) != null;
// and that the index and filter were properly recovered
assert null != cfs.getColumnFamily(QueryFilter.getIdentityFilter(Util.dk("key1"), new QueryPath(cfs.columnFamily)));