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/01/17 19:41:48 UTC

svn commit: r1060040 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra: db/DefsTable.java db/HintedHandOffManager.java dht/RandomPartitioner.java utils/ByteBufferUtil.java

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);