Updated Branches:
  refs/heads/trunk 2ae527218 -> 70554b2a3

add TypeSizes.sizeof(String)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/70554b2a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/70554b2a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/70554b2a

Branch: refs/heads/trunk
Commit: 70554b2a31706eb272eab0245c8ef25cbfdf6bf5
Parents: 2ae5272
Author: Jonathan Ellis <[email protected]>
Authored: Tue May 8 16:41:00 2012 -0500
Committer: Jonathan Ellis <[email protected]>
Committed: Tue May 8 16:41:00 2012 -0500

----------------------------------------------------------------------
 .../org/apache/cassandra/db/CounterMutation.java   |    4 +--
 .../org/apache/cassandra/db/RangeSliceCommand.java |   26 ++++++--------
 src/java/org/apache/cassandra/db/RowMutation.java  |   11 +++---
 .../cassandra/db/SliceByNamesReadCommand.java      |   15 ++++----
 .../apache/cassandra/db/SliceFromReadCommand.java  |   19 +++++-----
 .../org/apache/cassandra/db/SnapshotCommand.java   |    8 ++---
 .../org/apache/cassandra/db/TruncateResponse.java  |    6 +--
 src/java/org/apache/cassandra/db/Truncation.java   |    5 +--
 src/java/org/apache/cassandra/db/TypeSizes.java    |   27 +++++++++++++++
 .../org/apache/cassandra/db/WriteResponse.java     |    9 ++---
 .../org/apache/cassandra/db/filter/QueryPath.java  |    8 +----
 .../org/apache/cassandra/dht/BootStrapper.java     |    5 +--
 .../org/apache/cassandra/gms/GossipDigestSyn.java  |    3 +-
 .../org/apache/cassandra/gms/VersionedValue.java   |    3 +-
 .../cassandra/service/AntiEntropyService.java      |   12 ++----
 .../apache/cassandra/streaming/PendingFile.java    |    7 ++--
 .../apache/cassandra/streaming/StreamHeader.java   |    2 +-
 .../apache/cassandra/streaming/StreamReply.java    |    3 +-
 .../apache/cassandra/streaming/StreamRequest.java  |    5 +--
 .../cassandra/streaming/StreamingRepairTask.java   |    4 +-
 .../org/apache/cassandra/utils/FBUtilities.java    |   23 ------------
 21 files changed, 89 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/CounterMutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/CounterMutation.java 
b/src/java/org/apache/cassandra/db/CounterMutation.java
index 9a1c117..c3256cc 100644
--- a/src/java/org/apache/cassandra/db/CounterMutation.java
+++ b/src/java/org/apache/cassandra/db/CounterMutation.java
@@ -34,7 +34,6 @@ import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.thrift.ConsistencyLevel;
 import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.HeapAllocator;
 
 public class CounterMutation implements IMutation
@@ -182,8 +181,7 @@ class CounterMutationSerializer implements 
IVersionedSerializer<CounterMutation>
 
     public long serializedSize(CounterMutation cm, int version)
     {
-        int tableSize = FBUtilities.encodedUTF8Length(cm.consistency().name());
         return RowMutation.serializer.serializedSize(cm.rowMutation(), version)
-             + TypeSizes.NATIVE.sizeof((short) tableSize) + tableSize;
+             + TypeSizes.NATIVE.sizeof(cm.consistency().name());
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/RangeSliceCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RangeSliceCommand.java 
b/src/java/org/apache/cassandra/db/RangeSliceCommand.java
index 2ad4b5d..8516e06 100644
--- a/src/java/org/apache/cassandra/db/RangeSliceCommand.java
+++ b/src/java/org/apache/cassandra/db/RangeSliceCommand.java
@@ -217,14 +217,12 @@ class RangeSliceCommandSerializer implements 
IVersionedSerializer<RangeSliceComm
         return new RangeSliceCommand(keyspace, columnFamily, superColumn, 
pred, range, rowFilter, maxResults, maxIsColumns, isPaging);
     }
 
-    public long serializedSize(RangeSliceCommand rangeSliceCommand, int 
version)
+    public long serializedSize(RangeSliceCommand rsc, int version)
     {
-        int ksLength = 
FBUtilities.encodedUTF8Length(rangeSliceCommand.keyspace);
-        long size = TypeSizes.NATIVE.sizeof(ksLength) + ksLength;
-        int cfLength = 
FBUtilities.encodedUTF8Length(rangeSliceCommand.column_family);
-        size += TypeSizes.NATIVE.sizeof(cfLength) + cfLength;
+        long size = TypeSizes.NATIVE.sizeof(rsc.keyspace);
+        size += TypeSizes.NATIVE.sizeof(rsc.column_family);
 
-        ByteBuffer sc = rangeSliceCommand.super_column;
+        ByteBuffer sc = rsc.super_column;
         if (sc != null)
         {
             size += TypeSizes.NATIVE.sizeof(sc.remaining());
@@ -238,7 +236,7 @@ class RangeSliceCommandSerializer implements 
IVersionedSerializer<RangeSliceComm
         TSerializer ser = new TSerializer(new TBinaryProtocol.Factory());
         try
         {
-            int predicateLength = 
ser.serialize(rangeSliceCommand.predicate).length;
+            int predicateLength = ser.serialize(rsc.predicate).length;
             size += TypeSizes.NATIVE.sizeof(predicateLength);
             size += predicateLength;
         }
@@ -249,14 +247,14 @@ class RangeSliceCommandSerializer implements 
IVersionedSerializer<RangeSliceComm
 
         if (version >= MessagingService.VERSION_11)
         {
-            if (rangeSliceCommand.row_filter == null)
+            if (rsc.row_filter == null)
             {
                 size += TypeSizes.NATIVE.sizeof(0);
             }
             else
             {
-                size += 
TypeSizes.NATIVE.sizeof(rangeSliceCommand.row_filter.size());
-                for (IndexExpression expr : rangeSliceCommand.row_filter)
+                size += TypeSizes.NATIVE.sizeof(rsc.row_filter.size());
+                for (IndexExpression expr : rsc.row_filter)
                 {
                     try
                     {
@@ -271,12 +269,12 @@ class RangeSliceCommandSerializer implements 
IVersionedSerializer<RangeSliceComm
                 }
             }
         }
-        size += 
AbstractBounds.serializer.serializedSize(rangeSliceCommand.range, version);
-        size += TypeSizes.NATIVE.sizeof(rangeSliceCommand.maxResults);
+        size += AbstractBounds.serializer.serializedSize(rsc.range, version);
+        size += TypeSizes.NATIVE.sizeof(rsc.maxResults);
         if (version >= MessagingService.VERSION_11)
         {
-            size += TypeSizes.NATIVE.sizeof(rangeSliceCommand.maxIsColumns);
-            size += TypeSizes.NATIVE.sizeof(rangeSliceCommand.isPaging);
+            size += TypeSizes.NATIVE.sizeof(rsc.maxIsColumns);
+            size += TypeSizes.NATIVE.sizeof(rsc.isPaging);
         }
         return size;
     }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/RowMutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RowMutation.java 
b/src/java/org/apache/cassandra/db/RowMutation.java
index 4eae246..5474ab5 100644
--- a/src/java/org/apache/cassandra/db/RowMutation.java
+++ b/src/java/org/apache/cassandra/db/RowMutation.java
@@ -440,16 +440,15 @@ public class RowMutation implements IMutation
 
         public long serializedSize(RowMutation rm, int version)
         {
-            TypeSizes typeSizes = TypeSizes.NATIVE;
-            int tableSize = FBUtilities.encodedUTF8Length(rm.getTable());
+            TypeSizes sizes = TypeSizes.NATIVE;
+            int size = sizes.sizeof(rm.getTable());
             int keySize = rm.key().remaining();
-            int size = typeSizes.sizeof((short) tableSize) + tableSize;
-            size += typeSizes.sizeof((short) keySize) + keySize;
+            size += sizes.sizeof((short) keySize) + keySize;
 
-            size += typeSizes.sizeof(rm.modifications.size());
+            size += sizes.sizeof(rm.modifications.size());
             for (Map.Entry<Integer,ColumnFamily> entry : 
rm.modifications.entrySet())
             {
-                size += typeSizes.sizeof(entry.getKey());
+                size += sizes.sizeof(entry.getKey());
                 size += 
ColumnFamily.serializer.serializedSize(entry.getValue(), TypeSizes.NATIVE);
             }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java 
b/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
index 088a5d8..1f92890 100644
--- a/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
@@ -110,22 +110,21 @@ class SliceByNamesReadCommandSerializer implements 
IVersionedSerializer<ReadComm
 
     public long serializedSize(ReadCommand cmd, int version)
     {
-        TypeSizes typeSizes = TypeSizes.NATIVE;
+        TypeSizes sizes = TypeSizes.NATIVE;
         SliceByNamesReadCommand command = (SliceByNamesReadCommand) cmd;
-        int size = typeSizes.sizeof(command.isDigestQuery());
-        int tableSize = FBUtilities.encodedUTF8Length(command.table);
+        int size = sizes.sizeof(command.isDigestQuery());
         int keySize = command.key.remaining();
 
-        size += typeSizes.sizeof((short) tableSize) + tableSize;
-        size += typeSizes.sizeof(keySize) + keySize;
-        size += command.queryPath.serializedSize(typeSizes);
-        size += typeSizes.sizeof(command.columnNames.size());
+        size += sizes.sizeof(command.table);
+        size += sizes.sizeof(keySize) + keySize;
+        size += command.queryPath.serializedSize(sizes);
+        size += sizes.sizeof(command.columnNames.size());
         if (!command.columnNames.isEmpty())
         {
             for (ByteBuffer cName : command.columnNames)
             {
                 int cNameSize = cName.remaining();
-                size += typeSizes.sizeof((short) cNameSize) + cNameSize;
+                size += sizes.sizeof((short) cNameSize) + cNameSize;
             }
         }
         return size;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java 
b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
index e61d217..93c5ba1 100644
--- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
@@ -184,21 +184,20 @@ class SliceFromReadCommandSerializer implements 
IVersionedSerializer<ReadCommand
 
     public long serializedSize(ReadCommand cmd, int version)
     {
-        TypeSizes typeSizes = TypeSizes.NATIVE;
+        TypeSizes sizes = TypeSizes.NATIVE;
         SliceFromReadCommand command = (SliceFromReadCommand) cmd;
-        int tableSize = FBUtilities.encodedUTF8Length(command.table);
         int keySize = command.key.remaining();
         int startSize = command.start.remaining();
         int finishSize = command.finish.remaining();
 
-        int size = typeSizes.sizeof(cmd.isDigestQuery()); // boolean
-        size += typeSizes.sizeof((short) tableSize) + tableSize;
-        size += typeSizes.sizeof((short) keySize) + keySize;
-        size += command.queryPath.serializedSize(typeSizes);
-        size += typeSizes.sizeof((short) startSize) + startSize;
-        size += typeSizes.sizeof((short) finishSize) + finishSize;
-        size += typeSizes.sizeof(command.reversed);
-        size += typeSizes.sizeof(command.count);
+        int size = sizes.sizeof(cmd.isDigestQuery()); // boolean
+        size += sizes.sizeof(command.table);
+        size += sizes.sizeof((short) keySize) + keySize;
+        size += command.queryPath.serializedSize(sizes);
+        size += sizes.sizeof((short) startSize) + startSize;
+        size += sizes.sizeof((short) finishSize) + finishSize;
+        size += sizes.sizeof(command.reversed);
+        size += sizes.sizeof(command.count);
         return size;
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/SnapshotCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SnapshotCommand.java 
b/src/java/org/apache/cassandra/db/SnapshotCommand.java
index c3b8036..43dbdae 100644
--- a/src/java/org/apache/cassandra/db/SnapshotCommand.java
+++ b/src/java/org/apache/cassandra/db/SnapshotCommand.java
@@ -25,8 +25,6 @@ import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
 
-import static org.apache.cassandra.utils.FBUtilities.serializedUTF8Size;
-
 public class SnapshotCommand
 {
     public static final SnapshotCommandSerializer serializer = new 
SnapshotCommandSerializer();
@@ -80,9 +78,9 @@ class SnapshotCommandSerializer implements 
IVersionedSerializer<SnapshotCommand>
 
     public long serializedSize(SnapshotCommand sc, int version)
     {
-        return serializedUTF8Size(sc.keyspace)
-             + serializedUTF8Size(sc.column_family)
-             + serializedUTF8Size(sc.snapshot_name)
+        return TypeSizes.NATIVE.sizeof(sc.keyspace)
+             + TypeSizes.NATIVE.sizeof(sc.column_family)
+             + TypeSizes.NATIVE.sizeof(sc.snapshot_name)
              + TypeSizes.NATIVE.sizeof(sc.clear_snapshot);
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/TruncateResponse.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/TruncateResponse.java 
b/src/java/org/apache/cassandra/db/TruncateResponse.java
index 87c9440..efbe667 100644
--- a/src/java/org/apache/cassandra/db/TruncateResponse.java
+++ b/src/java/org/apache/cassandra/db/TruncateResponse.java
@@ -25,8 +25,6 @@ import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
 
-import static org.apache.cassandra.utils.FBUtilities.serializedUTF8Size;
-
 /**
  * This message is sent back the truncate operation and basically specifies if
  * the truncate succeeded.
@@ -70,8 +68,8 @@ public class TruncateResponse
 
         public long serializedSize(TruncateResponse tr, int version)
         {
-            return serializedUTF8Size(tr.keyspace)
-                 + serializedUTF8Size(tr.columnFamily)
+            return TypeSizes.NATIVE.sizeof(tr.keyspace)
+                 + TypeSizes.NATIVE.sizeof(tr.columnFamily)
                  + TypeSizes.NATIVE.sizeof(tr.success);
         }
     }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/Truncation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Truncation.java 
b/src/java/org/apache/cassandra/db/Truncation.java
index f52384f..f43c8e8 100644
--- a/src/java/org/apache/cassandra/db/Truncation.java
+++ b/src/java/org/apache/cassandra/db/Truncation.java
@@ -24,9 +24,6 @@ import java.io.IOException;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
-import org.apache.cassandra.utils.FBUtilities;
-
-import static org.apache.cassandra.utils.FBUtilities.serializedUTF8Size;
 
 /**
  * A truncate operation descriptor
@@ -72,6 +69,6 @@ class TruncationSerializer implements 
IVersionedSerializer<Truncation>
 
     public long serializedSize(Truncation truncation, int version)
     {
-        return serializedUTF8Size(truncation.keyspace) + 
serializedUTF8Size(truncation.columnFamily);
+        return TypeSizes.NATIVE.sizeof(truncation.keyspace) + 
TypeSizes.NATIVE.sizeof(truncation.columnFamily);
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/TypeSizes.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/TypeSizes.java 
b/src/java/org/apache/cassandra/db/TypeSizes.java
index 6e2f15e..26c9f7d 100644
--- a/src/java/org/apache/cassandra/db/TypeSizes.java
+++ b/src/java/org/apache/cassandra/db/TypeSizes.java
@@ -17,6 +17,8 @@
  */
 package org.apache.cassandra.db;
 
+import org.apache.cassandra.utils.FBUtilities;
+
 public abstract class TypeSizes
 {
     public static final TypeSizes NATIVE = new NativeDBTypeSizes();
@@ -32,6 +34,31 @@ public abstract class TypeSizes
     public abstract int sizeof(int value);
     public abstract int sizeof(long value);
 
+    /** assumes UTF8 */
+    public int sizeof(String value)
+    {
+        int length = encodedUTF8Length(value);
+        assert length <= Short.MAX_VALUE;
+        return sizeof((short) length) + length;
+    }
+
+    public static int encodedUTF8Length(String st)
+    {
+        int strlen = st.length();
+        int utflen = 0;
+        for (int i = 0; i < strlen; i++)
+        {
+            int c = st.charAt(i);
+            if ((c >= 0x0001) && (c <= 0x007F))
+                utflen++;
+            else if (c > 0x07FF)
+                utflen += 3;
+            else
+                utflen += 2;
+        }
+        return utflen;
+    }
+
     public static class NativeDBTypeSizes extends TypeSizes
     {
         public int sizeof(boolean value)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/WriteResponse.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/WriteResponse.java 
b/src/java/org/apache/cassandra/db/WriteResponse.java
index bb2c842..4b73c48 100644
--- a/src/java/org/apache/cassandra/db/WriteResponse.java
+++ b/src/java/org/apache/cassandra/db/WriteResponse.java
@@ -88,12 +88,11 @@ public class WriteResponse
 
         public long serializedSize(WriteResponse response, int version)
         {
-            TypeSizes typeSizes = TypeSizes.NATIVE;
-            int utfSize = FBUtilities.encodedUTF8Length(response.table());
+            TypeSizes sizes = TypeSizes.NATIVE;
             int keySize = response.key().remaining();
-            int size = typeSizes.sizeof((short) utfSize) + utfSize;
-            size += typeSizes.sizeof((short) keySize) + keySize;
-            size += typeSizes.sizeof(response.isSuccess());
+            int size = sizes.sizeof(response.table());
+            size += sizes.sizeof((short) keySize) + keySize;
+            size += sizes.sizeof(response.isSuccess());
             return size;
         }
     }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/db/filter/QueryPath.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/filter/QueryPath.java 
b/src/java/org/apache/cassandra/db/filter/QueryPath.java
index c4570a9..8116b81 100644
--- a/src/java/org/apache/cassandra/db/filter/QueryPath.java
+++ b/src/java/org/apache/cassandra/db/filter/QueryPath.java
@@ -99,15 +99,9 @@ public class QueryPath
         int size = 0;
 
         if (columnFamilyName == null)
-        {
             size += typeSizes.sizeof((short) 0);
-        }
         else
-        {
-            int cfNameSize = FBUtilities.encodedUTF8Length(columnFamilyName);
-            size += typeSizes.sizeof((short) cfNameSize);
-            size += cfNameSize;
-        }
+            size += typeSizes.sizeof(columnFamilyName);
 
         if (superColumnName == null)
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/dht/BootStrapper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/BootStrapper.java 
b/src/java/org/apache/cassandra/dht/BootStrapper.java
index 7886304..7b14586 100644
--- a/src/java/org/apache/cassandra/dht/BootStrapper.java
+++ b/src/java/org/apache/cassandra/dht/BootStrapper.java
@@ -32,6 +32,7 @@ import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.Table;
+import org.apache.cassandra.db.TypeSizes;
 import org.apache.cassandra.gms.FailureDetector;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.locator.AbstractReplicationStrategy;
@@ -42,8 +43,6 @@ import org.apache.cassandra.streaming.OperationType;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.SimpleCondition;
 
-import static org.apache.cassandra.utils.FBUtilities.serializedUTF8Size;
-
 public class BootStrapper
 {
     private static final Logger logger = 
LoggerFactory.getLogger(BootStrapper.class);
@@ -230,7 +229,7 @@ public class BootStrapper
 
         public long serializedSize(String s, int version)
         {
-            return serializedUTF8Size(s);
+            return TypeSizes.NATIVE.sizeof(s);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/gms/GossipDigestSyn.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/GossipDigestSyn.java 
b/src/java/org/apache/cassandra/gms/GossipDigestSyn.java
index 7faca3c..8ce2257 100644
--- a/src/java/org/apache/cassandra/gms/GossipDigestSyn.java
+++ b/src/java/org/apache/cassandra/gms/GossipDigestSyn.java
@@ -23,7 +23,6 @@ import java.util.List;
 
 import org.apache.cassandra.db.TypeSizes;
 import org.apache.cassandra.io.IVersionedSerializer;
-import org.apache.cassandra.utils.FBUtilities;
 
 /**
  * This is the first message that gets sent out as a start of the Gossip 
protocol in a
@@ -92,7 +91,7 @@ class GossipDigestSynSerializer implements 
IVersionedSerializer<GossipDigestSyn>
 
     public long serializedSize(GossipDigestSyn syn, int version)
     {
-        return FBUtilities.serializedUTF8Size(syn.clusterId) + 
GossipDigestSerializationHelper.serializedSize(syn.gDigests, version);
+        return TypeSizes.NATIVE.sizeof(syn.clusterId) + 
GossipDigestSerializationHelper.serializedSize(syn.gDigests, version);
     }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/gms/VersionedValue.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/VersionedValue.java 
b/src/java/org/apache/cassandra/gms/VersionedValue.java
index 4484e75..61bcbe5 100644
--- a/src/java/org/apache/cassandra/gms/VersionedValue.java
+++ b/src/java/org/apache/cassandra/gms/VersionedValue.java
@@ -235,8 +235,7 @@ public class VersionedValue implements 
Comparable<VersionedValue>
 
         public long serializedSize(VersionedValue value, int version)
         {
-            int outLength = FBUtilities.encodedUTF8Length(outValue(value, 
version));
-            return TypeSizes.NATIVE.sizeof(outLength) + outLength + 
TypeSizes.NATIVE.sizeof(value.version);
+            return TypeSizes.NATIVE.sizeof(outValue(value, version)) + 
TypeSizes.NATIVE.sizeof(value.version);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/service/AntiEntropyService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/AntiEntropyService.java 
b/src/java/org/apache/cassandra/service/AntiEntropyService.java
index bdbb40c..1e9e321 100644
--- a/src/java/org/apache/cassandra/service/AntiEntropyService.java
+++ b/src/java/org/apache/cassandra/service/AntiEntropyService.java
@@ -34,10 +34,7 @@ import org.apache.cassandra.concurrent.NamedThreadFactory;
 import org.apache.cassandra.concurrent.Stage;
 import org.apache.cassandra.concurrent.StageManager;
 import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.DecoratedKey;
-import org.apache.cassandra.db.SnapshotCommand;
-import org.apache.cassandra.db.Table;
+import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.compaction.AbstractCompactedRow;
 import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.dht.AbstractBounds;
@@ -46,7 +43,6 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.gms.*;
 import org.apache.cassandra.io.IVersionedSerializer;
-import org.apache.cassandra.io.util.FastByteArrayInputStream;
 import org.apache.cassandra.net.*;
 import org.apache.cassandra.streaming.StreamingRepairTask;
 import org.apache.cassandra.utils.*;
@@ -557,10 +553,10 @@ public class AntiEntropyService
 
             public long serializedSize(TreeRequest request, int version)
             {
-                return 2 + FBUtilities.encodedUTF8Length(request.sessionid)
+                return TypeSizes.NATIVE.sizeof(request.sessionid)
                      + 
CompactEndpointSerializationHelper.serializedSize(request.endpoint)
-                     + 2 + FBUtilities.encodedUTF8Length(request.cf.left)
-                     + 2 + FBUtilities.encodedUTF8Length(request.cf.right)
+                     + TypeSizes.NATIVE.sizeof(request.cf.left)
+                     + TypeSizes.NATIVE.sizeof(request.cf.right)
                      + AbstractBounds.serializer.serializedSize(request.range, 
version);
             }
         }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/streaming/PendingFile.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/PendingFile.java 
b/src/java/org/apache/cassandra/streaming/PendingFile.java
index 8e01eba..8160f51 100644
--- a/src/java/org/apache/cassandra/streaming/PendingFile.java
+++ b/src/java/org/apache/cassandra/streaming/PendingFile.java
@@ -26,7 +26,6 @@ import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.net.MessagingService;
-import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
 
 /**
@@ -149,13 +148,13 @@ public class PendingFile
             if (pf == null)
                 return TypeSizes.NATIVE.sizeof(0);
 
-            long size = 
FBUtilities.serializedUTF8Size(pf.desc.filenameFor(pf.component));
-            size += FBUtilities.serializedUTF8Size(pf.component);
+            long size = 
TypeSizes.NATIVE.sizeof(pf.desc.filenameFor(pf.component));
+            size += TypeSizes.NATIVE.sizeof(pf.component);
             size += TypeSizes.NATIVE.sizeof(pf.sections.size());
             for (Pair<Long,Long> section : pf.sections)
                 size += TypeSizes.NATIVE.sizeof(section.left + 
TypeSizes.NATIVE.sizeof(section.right));
             if (version > MessagingService.VERSION_07)
-                size += FBUtilities.serializedUTF8Size(pf.type.name());
+                size += TypeSizes.NATIVE.sizeof(pf.type.name());
             if (version > MessagingService.VERSION_080)
                 size += TypeSizes.NATIVE.sizeof(pf.estimatedKeys);
             return size;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/streaming/StreamHeader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamHeader.java 
b/src/java/org/apache/cassandra/streaming/StreamHeader.java
index f85042e..151fdd2 100644
--- a/src/java/org/apache/cassandra/streaming/StreamHeader.java
+++ b/src/java/org/apache/cassandra/streaming/StreamHeader.java
@@ -102,7 +102,7 @@ public class StreamHeader
 
         public long serializedSize(StreamHeader sh, int version)
         {
-            long size = FBUtilities.serializedUTF8Size(sh.table);
+            long size = TypeSizes.NATIVE.sizeof(sh.table);
             size += TypeSizes.NATIVE.sizeof(sh.sessionId);
             size += PendingFile.serializer.serializedSize(sh.file, version);
             size += TypeSizes.NATIVE.sizeof(sh.pendingFiles.size());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/streaming/StreamReply.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamReply.java 
b/src/java/org/apache/cassandra/streaming/StreamReply.java
index e29b697..bfb65e3 100644
--- a/src/java/org/apache/cassandra/streaming/StreamReply.java
+++ b/src/java/org/apache/cassandra/streaming/StreamReply.java
@@ -25,7 +25,6 @@ import org.apache.cassandra.db.TypeSizes;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
-import org.apache.cassandra.utils.FBUtilities;
 
 public class StreamReply
 {
@@ -84,7 +83,7 @@ public class StreamReply
 
         public long serializedSize(StreamReply reply, int version)
         {
-            return TypeSizes.NATIVE.sizeof(reply.sessionId) + 
FBUtilities.serializedUTF8Size(reply.file) + 
TypeSizes.NATIVE.sizeof(reply.action.ordinal());
+            return TypeSizes.NATIVE.sizeof(reply.sessionId) + 
TypeSizes.NATIVE.sizeof(reply.file) + 
TypeSizes.NATIVE.sizeof(reply.action.ordinal());
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/streaming/StreamRequest.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamRequest.java 
b/src/java/org/apache/cassandra/streaming/StreamRequest.java
index 1661d7c..3a08202 100644
--- a/src/java/org/apache/cassandra/streaming/StreamRequest.java
+++ b/src/java/org/apache/cassandra/streaming/StreamRequest.java
@@ -37,7 +37,6 @@ import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.CompactEndpointSerializationHelper;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
-import org.apache.cassandra.utils.FBUtilities;
 
 /**
 * This class encapsulates the message that needs to be sent to nodes
@@ -186,12 +185,12 @@ public class StreamRequest
             if (sr.file != null)
                 return size + PendingFile.serializer.serializedSize(sr.file, 
version);
 
-            size += FBUtilities.serializedUTF8Size(sr.table);
+            size += TypeSizes.NATIVE.sizeof(sr.table);
             size += TypeSizes.NATIVE.sizeof(sr.ranges.size());
             for (Range<Token> range : sr.ranges)
                 size += AbstractBounds.serializer.serializedSize(range, 
version);
             if (version > MessagingService.VERSION_07)
-                size += FBUtilities.serializedUTF8Size(sr.type.name());
+                size += TypeSizes.NATIVE.sizeof(sr.type.name());
             if (version > MessagingService.VERSION_080)
             {
                 size += 
TypeSizes.NATIVE.sizeof(Iterables.size(sr.columnFamilies));

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/streaming/StreamingRepairTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamingRepairTask.java 
b/src/java/org/apache/cassandra/streaming/StreamingRepairTask.java
index 5c6907e..bff8966 100644
--- a/src/java/org/apache/cassandra/streaming/StreamingRepairTask.java
+++ b/src/java/org/apache/cassandra/streaming/StreamingRepairTask.java
@@ -265,8 +265,8 @@ public class StreamingRepairTask implements Runnable
         {
             long size = UUIDGen.serializer.serializedSize(task.id, version);
             size += 3 * 
CompactEndpointSerializationHelper.serializedSize(task.owner);
-            size += FBUtilities.serializedUTF8Size(task.tableName);
-            size += FBUtilities.serializedUTF8Size(task.cfName);
+            size += TypeSizes.NATIVE.sizeof(task.tableName);
+            size += TypeSizes.NATIVE.sizeof(task.cfName);
             size += TypeSizes.NATIVE.sizeof(task.ranges.size());
             for (Range<Token> range : task.ranges)
                 size += AbstractBounds.serializer.serializedSize(range, 
version);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/70554b2a/src/java/org/apache/cassandra/utils/FBUtilities.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java 
b/src/java/org/apache/cassandra/utils/FBUtilities.java
index 9c012fb..a8d3e85 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -305,23 +305,6 @@ public class FBUtilities
         }
     }
 
-    public static int encodedUTF8Length(String st)
-    {
-        int strlen = st.length();
-        int utflen = 0;
-        for (int i = 0; i < strlen; i++)
-        {
-            int c = st.charAt(i);
-            if ((c >= 0x0001) && (c <= 0x007F))
-                utflen++;
-            else if (c > 0x07FF)
-                utflen += 3;
-            else
-                utflen += 2;
-        }
-        return utflen;
-    }
-
     public static String resourceToFile(String filename) throws 
ConfigurationException
     {
         ClassLoader loader = FBUtilities.class.getClassLoader();
@@ -584,12 +567,6 @@ public class FBUtilities
         }
     }
 
-    public static int serializedUTF8Size(String st)
-    {
-        int length = encodedUTF8Length(st);
-        return TypeSizes.NATIVE.sizeof(length) + length;
-    }
-
     private static final class WrappedCloseableIterator<T>
         extends AbstractIterator<T> implements CloseableIterator<T>
     {

Reply via email to