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 <[email protected]> Authored: Tue Aug 5 16:48:13 2014 -0500 Committer: Jonathan Ellis <[email protected]> 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 {
