Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E643B183DD for ; Fri, 6 Nov 2015 19:21:48 +0000 (UTC) Received: (qmail 73769 invoked by uid 500); 6 Nov 2015 19:21:48 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 73730 invoked by uid 500); 6 Nov 2015 19:21:48 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 73474 invoked by uid 99); 6 Nov 2015 19:21:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Nov 2015 19:21:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5F63EE00DB; Fri, 6 Nov 2015 19:21:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aleksey@apache.org To: commits@cassandra.apache.org Date: Fri, 06 Nov 2015 19:21:48 -0000 Message-Id: <5dfd9fd61af94396ba9303d45cea3172@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] cassandra git commit: Improve json2sstable error reporting on nonexistent columns Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 f8783b7bb -> 59a32211a 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-2.2 Commit: ff9b6bb973db7f6ebe650d909d24dcf5aebcfae5 Parents: 2548365 Author: Paulo Motta Authored: Mon Oct 5 15:04:09 2015 -0700 Committer: Aleksey Yeschenko 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 {