cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bened...@apache.org
Subject cassandra git commit: Simplify/optimise CFMetaData serialization
Date Wed, 15 Jul 2015 17:50:20 GMT
Repository: cassandra
Updated Branches:
  refs/heads/trunk 376e552c4 -> 43c3ab445


Simplify/optimise CFMetaData serialization

patch by benedict; reviewed by sylvain for CASSANDRA-9709


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

Branch: refs/heads/trunk
Commit: 43c3ab44573dee5fd099895146f4a008b54901f6
Parents: 376e552
Author: Benedict Elliott Smith <benedict@apache.org>
Authored: Wed Jul 15 18:50:04 2015 +0100
Committer: Benedict Elliott Smith <benedict@apache.org>
Committed: Wed Jul 15 18:50:04 2015 +0100

----------------------------------------------------------------------
 .../org/apache/cassandra/config/CFMetaData.java | 21 ++++----------------
 1 file changed, 4 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/43c3ab44/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index 1219952..84639dc 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -1516,29 +1516,16 @@ public final class CFMetaData
     // we could make UUIDSerializer work as the serializer below, but I'll keep that to later.
     public static class Serializer
     {
-        private static void writeLongAsSeparateBytes(long value, DataOutputPlus out) throws
IOException
-        {
-            for (int i = 7; i >= 0; i--)
-                out.writeByte((int)((value >> (8 * i)) & 0xFF));
-        }
-
-        private static long readLongAsSeparateBytes(DataInput in) throws IOException
-        {
-            long val = 0;
-            for (int i = 7; i >= 0; i--)
-                val |= ((long)in.readUnsignedByte()) << (8 * i);
-            return val;
-        }
-
         public void serialize(CFMetaData metadata, DataOutputPlus out, int version) throws
IOException
         {
-            writeLongAsSeparateBytes(metadata.cfId.getMostSignificantBits(), out);
-            writeLongAsSeparateBytes(metadata.cfId.getLeastSignificantBits(), out);
+            // for some reason these are stored is LITTLE_ENDIAN; so just reverse them
+            out.writeLong(Long.reverseBytes(metadata.cfId.getMostSignificantBits()));
+            out.writeLong(Long.reverseBytes(metadata.cfId.getLeastSignificantBits()));
         }
 
         public CFMetaData deserialize(DataInput in, int version) throws IOException
         {
-            UUID cfId = new UUID(readLongAsSeparateBytes(in), readLongAsSeparateBytes(in));
+            UUID cfId = new UUID(Long.reverseBytes(in.readLong()), Long.reverseBytes(in.readLong()));
             CFMetaData metadata = Schema.instance.getCFMetaData(cfId);
             if (metadata == null)
             {


Mime
View raw message