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> {
