Author: jbellis
Date: Mon Jan 17 18:41:48 2011
New Revision: 1060040
URL: http://svn.apache.org/viewvc?rev=1060040&view=rev
Log:
fix ByteBuffer regressions from #1714
patch by slebresne; reviewed by jbellis for CASSANDRA-1999
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefsTable.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/dht/RandomPartitioner.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefsTable.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefsTable.java?rev=1060040&r1=1060039&r2=1060040&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefsTable.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefsTable.java
Mon Jan 17 18:41:48 2011
@@ -89,7 +89,7 @@ public class DefsTable
throw new RuntimeException("Cannot read system table! Are you
upgrading a pre-release version?");
ByteBuffer value = avroschema.value();
- Schema schema = Schema.parse(ByteBufferUtil.string(value,
value.position(), value.remaining()));
+ Schema schema = Schema.parse(ByteBufferUtil.string(value));
// deserialize keyspaces using schema
Collection<KSMetaData> keyspaces = new ArrayList<KSMetaData>();
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1060040&r1=1060039&r2=1060040&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/HintedHandOffManager.java
Mon Jan 17 18:41:48 2011
@@ -183,8 +183,8 @@ public class HintedHandOffManager
throw new RuntimeException("Corrupted hint name " +
ByteBufferUtil.string(joined));
return new String[] {
- ByteBufferUtil.string(joined,
joined.position(), index),
- ByteBufferUtil.string(joined, index + 1,
joined.limit())
+ ByteBufferUtil.string(joined,
joined.position(), index - joined.position()),
+ ByteBufferUtil.string(joined, index + 1,
joined.limit() - (index + 1))
};
}
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/dht/RandomPartitioner.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/dht/RandomPartitioner.java?rev=1060040&r1=1060039&r2=1060040&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/dht/RandomPartitioner.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/dht/RandomPartitioner.java
Mon Jan 17 18:41:48 2011
@@ -61,7 +61,7 @@ public class RandomPartitioner implement
assert splitPoint != -1;
// and decode the token and key
- String token = ByteBufferUtil.string(fromdisk, fromdisk.position(),
splitPoint, UTF_8);
+ String token = ByteBufferUtil.string(fromdisk, fromdisk.position(),
splitPoint - fromdisk.position(), UTF_8);
ByteBuffer key = fromdisk.duplicate();
key.position(splitPoint + 1);
return new DecoratedKey<BigIntegerToken>(new BigIntegerToken(token),
key);
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java?rev=1060040&r1=1060039&r2=1060040&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
Mon Jan 17 18:41:48 2011
@@ -110,7 +110,7 @@ public class ByteBufferUtil
public static String string(ByteBuffer buffer, int offset, int length,
Charset charset)
{
if (buffer.hasArray())
- return new String(buffer.array(), buffer.arrayOffset() + offset,
length + buffer.arrayOffset(), charset);
+ return new String(buffer.array(), buffer.arrayOffset() + offset,
length, charset);
byte[] buff = getArray(buffer, offset, length);
return new String(buff, charset);