Author: jbellis
Date: Mon Jul 19 17:33:40 2010
New Revision: 965568

URL: http://svn.apache.org/viewvc?rev=965568&view=rev
Log:
hand-assembled sstables could contain garbage data since we were writing the 
entire buffer contents.  copy just the valid data to a separate byte[] first.  
patch by jbellis; reviewed by Stu Hood for CASSANDRA-1299

Modified:
    cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableUtils.java

Modified: 
cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableUtils.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableUtils.java?rev=965568&r1=965567&r2=965568&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableUtils.java 
(original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/io/sstable/SSTableUtils.java 
Mon Jul 19 17:33:40 2010
@@ -21,12 +21,11 @@ package org.apache.cassandra.io.sstable;
 
 import java.io.File;
 import java.io.IOException;
-
 import java.util.*;
 
 import org.apache.cassandra.db.*;
-import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.io.util.DataOutputBuffer;
+import org.apache.cassandra.service.StorageService;
 
 public class SSTableUtils
 {
@@ -78,7 +77,7 @@ public class SSTableUtils
         {
             DataOutputBuffer buffer = new DataOutputBuffer();
             ColumnFamily.serializer().serializeWithIndexes(entry.getValue(), 
buffer);
-            map.put(entry.getKey().getBytes(), buffer.getData());
+            map.put(entry.getKey().getBytes(), Arrays.copyOf(buffer.getData(), 
buffer.getLength()));
         }
         return writeRawSSTable(TABLENAME, CFNAME, map);
     }


Reply via email to