You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2015/11/06 20:23:07 UTC
[1/3] cassandra git commit: Improve json2sstable error reporting on
nonexistent columns
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.0 97dc8d525 -> 7fd2eaa72
Improve json2sstable error reporting on nonexistent columns
patch by Paulo Motta; reviewed by Ariel Weisberg for CASSANDRA-10401
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ff9b6bb9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ff9b6bb9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ff9b6bb9
Branch: refs/heads/cassandra-3.0
Commit: ff9b6bb973db7f6ebe650d909d24dcf5aebcfae5
Parents: 2548365
Author: Paulo Motta <pa...@gmail.com>
Authored: Mon Oct 5 15:04:09 2015 -0700
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 6 19:19:13 2015 +0000
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/tools/SSTableImport.java | 5 +++++
test/unit/org/apache/cassandra/tools/SSTableImportTest.java | 9 +++++++++
3 files changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff9b6bb9/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7771969..8ff726e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.12
+ * Improve json2sstable error reporting on nonexistent columns (CASSANDRA-10401)
* (cqlsh) fix COPY using wrong variable name for time_format (CASSANDRA-10633)
* Do not run SizeEstimatesRecorder if a node is not a member of the ring (CASSANDRA-9912)
* Improve handling of dead nodes in gossip (CASSANDRA-10298)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff9b6bb9/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/SSTableImport.java b/src/java/org/apache/cassandra/tools/SSTableImport.java
index 87d52be..e0f3ef3 100644
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@ -281,6 +281,11 @@ public class SSTableImport
*/
public int importJson(String jsonFile, String keyspace, String cf, String ssTablePath) throws IOException
{
+ if (Schema.instance.getCFMetaData(keyspace, cf) == null)
+ throw new IllegalArgumentException(String.format("Unknown keyspace/table %s.%s",
+ keyspace,
+ cf));
+
ColumnFamily columnFamily = ArrayBackedSortedColumns.factory.create(keyspace, cf);
IPartitioner partitioner = DatabaseDescriptor.getPartitioner();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff9b6bb9/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/tools/SSTableImportTest.java b/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
index a5f05f8..77036e8 100644
--- a/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
@@ -51,6 +51,15 @@ import org.apache.cassandra.io.sstable.SSTableReader;
public class SSTableImportTest extends SchemaLoader
{
+ @Test(expected = IllegalArgumentException.class)
+ public void testImportUnknownCf() throws IOException, URISyntaxException
+ {
+ // Import JSON to temp SSTable file
+ String jsonUrl = resourcePath("SimpleCF.json");
+ File tempSS = tempSSTableFile("Keyspace1", "Standard1");
+ new SSTableImport(true).importJson(jsonUrl, "UnknownKeyspace", "UnknownCF", tempSS.getPath());
+ }
+
@Test
public void testImportSimpleCf() throws IOException, URISyntaxException
{
[3/3] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by al...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7fd2eaa7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7fd2eaa7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7fd2eaa7
Branch: refs/heads/cassandra-3.0
Commit: 7fd2eaa727bbacf6a3cea8d41e02e804bf9cdd56
Parents: 97dc8d5 59a3221
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Fri Nov 6 19:22:44 2015 +0000
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 6 19:22:44 2015 +0000
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/3] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by al...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/59a32211
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/59a32211
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/59a32211
Branch: refs/heads/cassandra-3.0
Commit: 59a32211a01c6eb2ae694da0161006332a143947
Parents: f8783b7 ff9b6bb
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Fri Nov 6 19:21:28 2015 +0000
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 6 19:21:28 2015 +0000
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/tools/SSTableImport.java | 5 +++++
.../org/apache/cassandra/tools/SSTableImportTest.java | 14 +++++++++++---
3 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/59a32211/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index f47e1dd,8ff726e..814a924
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,5 +1,14 @@@
-2.1.12
+2.2.4
+ * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645)
+ * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
+ * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
+ * Expose phi values from failure detector via JMX and tweak debug
+ and trace logging (CASSANDRA-9526)
+ * Fix RangeNamesQueryPager (CASSANDRA-10509)
+ * Deprecate Pig support (CASSANDRA-10542)
+ * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
+Merged from 2.1:
+ * Improve json2sstable error reporting on nonexistent columns (CASSANDRA-10401)
* (cqlsh) fix COPY using wrong variable name for time_format (CASSANDRA-10633)
* Do not run SizeEstimatesRecorder if a node is not a member of the ring (CASSANDRA-9912)
* Improve handling of dead nodes in gossip (CASSANDRA-10298)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/59a32211/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/59a32211/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/tools/SSTableImportTest.java
index 814662c,77036e8..5eaf154
--- a/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableImportTest.java
@@@ -57,32 -46,20 +57,40 @@@ import org.apache.cassandra.db.columnit
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.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
+public class SSTableImportTest
{
+ public static final String KEYSPACE1 = "SSTableImportTest";
+ public static final String CF_STANDARD = "Standard1";
+ public static final String CF_COUNTER = "Counter1";
+ public static final String CQL_TABLE = "table1";
+
+ @BeforeClass
+ public static void defineSchema() throws ConfigurationException
+ {
+ SchemaLoader.prepareServer();
+ SchemaLoader.createKeyspace(KEYSPACE1,
+ SimpleStrategy.class,
+ KSMetaData.optsWithRF(1),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD),
+ SchemaLoader.standardCFMD(KEYSPACE1, CF_COUNTER).defaultValidator(CounterColumnType.instance),
+ SchemaLoader.standardCFMD(KEYSPACE1, "AsciiKeys").keyValidator(AsciiType.instance),
+ CFMetaData.compile("CREATE TABLE table1 (k int PRIMARY KEY, v1 text, v2 int)", KEYSPACE1));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testImportUnknownCf() throws IOException, URISyntaxException
+ {
+ // Import JSON to temp SSTable file
+ String jsonUrl = resourcePath("SimpleCF.json");
+ File tempSS = tempSSTableFile("Keyspace1", "Standard1");
+ new SSTableImport(true).importJson(jsonUrl, "UnknownKeyspace", "UnknownCF", tempSS.getPath());
+ }
+
@Test
public void testImportSimpleCf() throws IOException, URISyntaxException
{
@@@ -250,8 -229,8 +258,8 @@@
public void shouldRejectEmptyCellNamesForNonCqlTables() throws IOException, URISyntaxException
{
String jsonUrl = resourcePath("CQLTable.json");
-- File tempSS = tempSSTableFile("Keyspace1", "Counter1");
-- new SSTableImport(true).importJson(jsonUrl, "Keyspace1", "Counter1", tempSS.getPath());
++ File tempSS = tempSSTableFile(KEYSPACE1, CF_COUNTER);
++ new SSTableImport(true).importJson(jsonUrl, KEYSPACE1, CF_COUNTER, tempSS.getPath());
}
private static Matcher<UntypedResultSet.Row> withElements(final int key, final String v1, final int v2) {