You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2009/12/14 23:37:55 UTC

svn commit: r890513 - in /incubator/cassandra/branches/cassandra-0.5: src/java/org/apache/cassandra/tools/SSTableExport.java src/java/org/apache/cassandra/tools/SSTableImport.java test/resources/SimpleCF.json test/resources/SuperCF.json

Author: eevans
Date: Mon Dec 14 22:37:55 2009
New Revision: 890513

URL: http://svn.apache.org/viewvc?rev=890513&view=rev
Log:
(de)serialize columns to/from hex regardless of comparator

Patch by eevans; reviewed by Ramzi Rabah for CASSANDRA-618

Modified:
    incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableExport.java
    incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableImport.java
    incubator/cassandra/branches/cassandra-0.5/test/resources/SimpleCF.json
    incubator/cassandra/branches/cassandra-0.5/test/resources/SuperCF.json

Modified: incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableExport.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=890513&r1=890512&r2=890513&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableExport.java (original)
+++ incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableExport.java Mon Dec 14 22:37:55 2009
@@ -31,7 +31,7 @@
 import org.apache.cassandra.io.IteratingRow;
 import org.apache.cassandra.io.SSTableReader;
 import org.apache.cassandra.io.SSTableScanner;
-import org.apache.cassandra.utils.FBUtilities;
+import static org.apache.cassandra.utils.FBUtilities.bytesToHex;
 import org.apache.commons.cli.*;
 
 /**
@@ -77,9 +77,9 @@
         {
             json.append("[");
             IColumn column = iter.next();
-            json.append(quote(comp.getString(column.name())));
+            json.append(quote(bytesToHex(column.name())));
             json.append(", ");
-            json.append(quote(FBUtilities.bytesToHex(column.value())));
+            json.append(quote(bytesToHex(column.value())));
             json.append(", ");
             json.append(column.timestamp());
             json.append(", ");
@@ -108,7 +108,7 @@
             while (iter.hasNext())
             {
                 IColumn column = iter.next();
-                json.append(asKey(comparator.getString(column.name())));
+                json.append(asKey(bytesToHex(column.name())));
                 json.append("{");
                 json.append(asKey("deletedAt"));
                 json.append(column.getMarkedForDeleteAt());

Modified: incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableImport.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableImport.java?rev=890513&r1=890512&r2=890513&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableImport.java (original)
+++ incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/SSTableImport.java Mon Dec 14 22:37:55 2009
@@ -29,7 +29,7 @@
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.io.DataOutputBuffer;
 import org.apache.cassandra.io.SSTableWriter;
-import org.apache.cassandra.utils.FBUtilities;
+import static org.apache.cassandra.utils.FBUtilities.hexToBytes;
 import org.apache.commons.cli.*;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
@@ -85,9 +85,9 @@
     {
         for (Object c : row)
         {
-            JsonColumn col = new JsonColumn(c);  
-            QueryPath path = new QueryPath(cfamily.name(), null, col.name.getBytes());
-            cfamily.addColumn(path, FBUtilities.hexToBytes(col.value), col.timestamp, col.isDeleted);
+            JsonColumn col = new JsonColumn(c);
+            QueryPath path = new QueryPath(cfamily.name(), null, hexToBytes(col.name));
+            cfamily.addColumn(path, hexToBytes(col.value), col.timestamp, col.isDeleted);
         }
     }
     
@@ -102,7 +102,7 @@
         // Super columns
         for (Map.Entry<String, JSONObject> entry : (Set<Map.Entry<String, JSONObject>>)row.entrySet())
         {
-            byte[] superName = entry.getKey().getBytes();
+            byte[] superName = hexToBytes(entry.getKey());
             long deletedAt = (Long)entry.getValue().get("deletedAt");
             JSONArray subColumns = (JSONArray)entry.getValue().get("subColumns");
             
@@ -110,8 +110,8 @@
             for (Object c : subColumns)
             {
                 JsonColumn col = new JsonColumn(c);
-                QueryPath path = new QueryPath(cfamily.name(), superName, col.name.getBytes());
-                cfamily.addColumn(path, FBUtilities.hexToBytes(col.value), col.timestamp, col.isDeleted);
+                QueryPath path = new QueryPath(cfamily.name(), superName, hexToBytes(col.name));
+                cfamily.addColumn(path, hexToBytes(col.value), col.timestamp, col.isDeleted);
             }
             
             SuperColumn superColumn = (SuperColumn)cfamily.getColumn(superName);

Modified: incubator/cassandra/branches/cassandra-0.5/test/resources/SimpleCF.json
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/test/resources/SimpleCF.json?rev=890513&r1=890512&r2=890513&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/test/resources/SimpleCF.json (original)
+++ incubator/cassandra/branches/cassandra-0.5/test/resources/SimpleCF.json Mon Dec 14 22:37:55 2009
@@ -1,4 +1,4 @@
 {
- "rowA": [["colAA", "76616c4141", 1, false], ["colAB", "76616c4142", 1, false]],
- "rowB": [["colBA", "76616c4241", 1, false], ["colBB", "76616c4242", 1, false]]
+ "rowA": [["636f6c4141", "76616c4141", 1, false], ["636f6c4142", "76616c4142", 1, false]],
+ "rowB": [["636f6c4241", "76616c4241", 1, false], ["636f6c4242", "76616c4242", 1, false]]
 }

Modified: incubator/cassandra/branches/cassandra-0.5/test/resources/SuperCF.json
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/test/resources/SuperCF.json?rev=890513&r1=890512&r2=890513&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/test/resources/SuperCF.json (original)
+++ incubator/cassandra/branches/cassandra-0.5/test/resources/SuperCF.json Mon Dec 14 22:37:55 2009
@@ -1,4 +1,4 @@
 {
-  "rowA": {"superA": {"deletedAt": -9223372036854775808, "subColumns": [["colAA", "76616c75654141", 1, false], ["colAB", "76616c75654142", 1, false]]}},
-  "rowB": {"superB": {"deletedAt": -9223372036854775808, "subColumns": [["colBA", "76616c75654241", 1, false], ["colBB", "76616c75654242", 1, false]]}}
+  "rowA": {"737570657241": {"deletedAt": -9223372036854775808, "subColumns": [["636f6c4141", "76616c75654141", 1, false], ["636f6c4142", "76616c75654142", 1, false]]}},
+  "rowB": {"737570657242": {"deletedAt": -9223372036854775808, "subColumns": [["636f6c4241", "76616c75654241", 1, false], ["636f6c4242", "76616c75654242", 1, false]]}}
 }