You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jm...@apache.org on 2014/08/11 23:37:28 UTC

[13/50] [abbrv] git commit: merge from 2.1

merge from 2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 50191828f4d421ae8acfa85019bec5eaecdfa6bb
Parents: 2504177 91d61b3
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue Aug 5 16:48:13 2014 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue Aug 5 16:48:13 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 +
 .../apache/cassandra/tools/SSTableExport.java   | 40 +++++-----
 .../apache/cassandra/tools/SSTableImport.java   | 23 ++++--
 .../unit/org/apache/cassandra/SchemaLoader.java |  3 +-
 test/unit/org/apache/cassandra/Util.java        |  6 ++
 .../cassandra/tools/SSTableExportTest.java      | 79 +++++++++++++++-----
 .../cassandra/tools/SSTableImportTest.java      | 56 ++++++++++++--
 7 files changed, 160 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index d60ed3d,79c84b2..991331f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,6 +1,22 @@@
 +3.0
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7028)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 +
 +
  2.1.1
+  * SSTableExport uses correct validator to create string representation of partition
+    keys (CASSANDRA-7498)
   * Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
   * Add support for custom 2i validation (CASSANDRA-7575)
   * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/src/java/org/apache/cassandra/tools/SSTableExport.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/test/unit/org/apache/cassandra/SchemaLoader.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/test/unit/org/apache/cassandra/Util.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/tools/SSTableExportTest.java
index dbc6703,c3f3419..f1b7564
--- a/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
@@@ -18,30 -18,26 +18,33 @@@
  */
  package org.apache.cassandra.tools;
  
  import java.io.File;
  import java.io.FileReader;
  import java.io.IOException;
- import java.io.OutputStream;
  import java.io.PrintStream;
  
++import org.junit.BeforeClass;
++import org.junit.Test;
++
  import org.apache.cassandra.SchemaLoader;
  import org.apache.cassandra.Util;
  import org.apache.cassandra.config.CFMetaData;
 -import org.apache.cassandra.db.*;
 +import org.apache.cassandra.config.KSMetaData;
- import org.apache.cassandra.db.*;
++import org.apache.cassandra.db.ArrayBackedSortedColumns;
++import org.apache.cassandra.db.BufferCell;
++import org.apache.cassandra.db.BufferCounterCell;
++import org.apache.cassandra.db.BufferExpiringCell;
++import org.apache.cassandra.db.ColumnFamily;
++import org.apache.cassandra.db.ColumnFamilyStore;
++import org.apache.cassandra.db.DeletionInfo;
++import org.apache.cassandra.db.Keyspace;
  import org.apache.cassandra.db.filter.QueryFilter;
+ import org.apache.cassandra.db.marshal.AsciiType;
  import org.apache.cassandra.db.marshal.BytesType;
 +import org.apache.cassandra.db.marshal.CounterColumnType;
  import org.apache.cassandra.db.marshal.UTF8Type;
 +import org.apache.cassandra.db.marshal.UUIDType;
 +import org.apache.cassandra.exceptions.ConfigurationException;
  import org.apache.cassandra.io.sstable.Descriptor;
  import org.apache.cassandra.io.sstable.SSTableReader;
  import org.apache.cassandra.io.sstable.SSTableWriter;
@@@ -54,30 -48,10 +57,35 @@@ import org.json.simple.JSONArray
  import org.json.simple.JSONObject;
  import org.json.simple.JSONValue;
  import org.json.simple.parser.ParseException;
- import org.junit.BeforeClass;
--import org.junit.Test;
+ 
 -public class SSTableExportTest extends SchemaLoader
++import static org.apache.cassandra.Util.column;
++import static org.apache.cassandra.io.sstable.SSTableUtils.tempSSTableFile;
++import static org.apache.cassandra.utils.ByteBufferUtil.bytesToHex;
++import static org.apache.cassandra.utils.ByteBufferUtil.hexToBytes;
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertNotNull;
 +
 +public class SSTableExportTest
  {
 +    public static final String KEYSPACE1 = "SSTableExportTest";
 +    public static final String CF_STANDARD = "Standard1";
 +    public static final String CF_COUNTER = "Counter1";
 +    public static final String CF_UUID = "UUIDKeys";
 +    public static final String CF_VALSWITHQUOTES = "ValuesWithQuotes";
 +
 +    @BeforeClass
 +    public static void defineSchema() throws ConfigurationException, IOException, TException
 +    {
 +        SchemaLoader.prepareServer();
 +        SchemaLoader.createKeyspace(KEYSPACE1,
 +                                    SimpleStrategy.class,
 +                                    KSMetaData.optsWithRF(1),
 +                                    SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
 +                                    CFMetaData.denseCFMetaData(KEYSPACE1, CF_COUNTER, BytesType.instance).defaultValidator(CounterColumnType.instance),
 +                                    SchemaLoader.standardCFMD(KEYSPACE1, CF_UUID).keyValidator(UUIDType.instance),
 +                                    CFMetaData.denseCFMetaData(KEYSPACE1, CF_VALSWITHQUOTES, BytesType.instance).defaultValidator(UTF8Type.instance));
 +    }
 +
      public String asHex(String str)
      {
          return bytesToHex(ByteBufferUtil.bytes(str));
@@@ -195,11 -172,12 +206,12 @@@
  
          // Export to JSON and verify
          File tempJson = File.createTempFile("Standard1", ".json");
-         SSTableExport.export(reader, new PrintStream(tempJson.getPath()), new String[]{asHex("rowExclude")});
+         SSTableExport.export(reader, new PrintStream(tempJson.getPath()), new String[]{asHex("rowExclude")},
+                 CFMetaData.sparseCFMetaData("Keyspace1", "Standard1", BytesType.instance));
  
          // Import JSON to another SSTable file
 -        File tempSS2 = tempSSTableFile("Keyspace1", "Standard1");
 -        new SSTableImport().importJson(tempJson.getPath(), "Keyspace1", "Standard1", tempSS2.getPath());
 +        File tempSS2 = tempSSTableFile(KEYSPACE1, "Standard1");
 +        new SSTableImport().importJson(tempJson.getPath(), KEYSPACE1, "Standard1", tempSS2.getPath());
  
          reader = SSTableReader.open(Descriptor.fromFilename(tempSS2.getPath()));
          QueryFilter qf = Util.namesQueryFilter(cfs, Util.dk("rowA"), "name");

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50191828/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/tools/SSTableImportTest.java
index dba8408,edaf0fd..8ea0ab8
--- a/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
@@@ -18,10 -18,10 +18,6 @@@
  */
  package org.apache.cassandra.tools;
  
--import static org.junit.Assert.assertEquals;
--import static org.apache.cassandra.io.sstable.SSTableUtils.tempSSTableFile;
--import static org.apache.cassandra.utils.ByteBufferUtil.hexToBytes;
--
  import java.io.File;
  import java.io.IOException;
  import java.net.URI;
@@@ -32,36 -33,14 +28,47 @@@ import org.junit.Test
  
  import org.apache.cassandra.SchemaLoader;
  import org.apache.cassandra.Util;
 -import org.apache.cassandra.db.*;
 +import org.apache.cassandra.config.CFMetaData;
 +import org.apache.cassandra.config.KSMetaData;
- import org.apache.cassandra.db.*;
++import org.apache.cassandra.db.ArrayBackedSortedColumns;
++import org.apache.cassandra.db.BufferDeletedCell;
++import org.apache.cassandra.db.Cell;
++import org.apache.cassandra.db.ColumnFamily;
++import org.apache.cassandra.db.CounterCell;
++import org.apache.cassandra.db.DeletionInfo;
++import org.apache.cassandra.db.ExpiringCell;
  import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
  import org.apache.cassandra.db.filter.QueryFilter;
++import org.apache.cassandra.db.marshal.AsciiType;
 +import org.apache.cassandra.db.marshal.BytesType;
 +import org.apache.cassandra.db.marshal.CounterColumnType;
 +import org.apache.cassandra.exceptions.ConfigurationException;
- import org.apache.cassandra.locator.SimpleStrategy;
  import org.apache.cassandra.io.sstable.Descriptor;
  import org.apache.cassandra.io.sstable.SSTableReader;
++import org.apache.cassandra.locator.SimpleStrategy;
 +import org.apache.thrift.TException;
  
 -public class SSTableImportTest extends SchemaLoader
++import static org.apache.cassandra.io.sstable.SSTableUtils.tempSSTableFile;
++import static org.apache.cassandra.utils.ByteBufferUtil.hexToBytes;
++import static org.junit.Assert.assertEquals;
++
 +public class SSTableImportTest
  {
 +    public static final String KEYSPACE1 = "SSTableImportTest";
 +    public static final String CF_STANDARD = "Standard1";
 +    public static final String CF_COUNTER = "Counter1";
 +
 +    @BeforeClass
 +    public static void defineSchema() throws ConfigurationException, IOException, TException
 +    {
 +        SchemaLoader.prepareServer();
 +        SchemaLoader.createKeyspace(KEYSPACE1,
 +                                    SimpleStrategy.class,
 +                                    KSMetaData.optsWithRF(1),
 +                                    SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
 +                                    CFMetaData.denseCFMetaData(KEYSPACE1, CF_COUNTER, BytesType.instance).defaultValidator(CounterColumnType.instance));
 +    }
 +
      @Test
      public void testImportSimpleCf() throws IOException, URISyntaxException
      {