Fix ConfigHelper.setInputColumnFamily with uppercased keyspace names. Patch by Alex Liu, reviewed by pkolackzk for CASSANDRA-7093
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0356ee76 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0356ee76 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0356ee76 Branch: refs/heads/trunk Commit: 0356ee76e4c0b4b863625c5517ae8a4f883766dc Parents: 1b9f712 Author: Brandon Williams <brandonwilli...@apache.org> Authored: Tue May 20 11:09:04 2014 -0500 Committer: Brandon Williams <brandonwilli...@apache.org> Committed: Tue May 20 11:09:04 2014 -0500 ---------------------------------------------------------------------- .../cassandra/hadoop/cql3/CqlConfigHelper.java | 20 ++++++++++---------- .../cassandra/hadoop/cql3/CqlRecordReader.java | 8 ++++++-- 2 files changed, 16 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0356ee76/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java index a2cf1e7..63279d1 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java @@ -370,29 +370,29 @@ public class CqlConfigHelper conf.set(INPUT_NATIVE_AUTH_PROVIDER, authProvider); } - public static void setInputNativeSSLTruststorePath(Configuration conf, String authProvider) + public static void setInputNativeSSLTruststorePath(Configuration conf, String path) { - conf.set(INPUT_NATIVE_SSL_TRUST_STORE_PATH, authProvider); + conf.set(INPUT_NATIVE_SSL_TRUST_STORE_PATH, path); } - public static void setInputNativeSSLKeystorePath(Configuration conf, String authProvider) + public static void setInputNativeSSLKeystorePath(Configuration conf, String path) { - conf.set(INPUT_NATIVE_SSL_KEY_STORE_PATH, authProvider); + conf.set(INPUT_NATIVE_SSL_KEY_STORE_PATH, path); } - public static void setInputNativeSSLKeystorePassword(Configuration conf, String authProvider) + public static void setInputNativeSSLKeystorePassword(Configuration conf, String pass) { - conf.set(INPUT_NATIVE_SSL_KEY_STORE_PASSWARD, authProvider); + conf.set(INPUT_NATIVE_SSL_KEY_STORE_PASSWARD, pass); } - public static void setInputNativeSSLTruststorePassword(Configuration conf, String authProvider) + public static void setInputNativeSSLTruststorePassword(Configuration conf, String pass) { - conf.set(INPUT_NATIVE_SSL_TRUST_STORE_PASSWARD, authProvider); + conf.set(INPUT_NATIVE_SSL_TRUST_STORE_PASSWARD, pass); } - public static void setInputNativeSSLCipherSuites(Configuration conf, String authProvider) + public static void setInputNativeSSLCipherSuites(Configuration conf, String suites) { - conf.set(INPUT_NATIVE_SSL_CIPHER_SUITES, authProvider); + conf.set(INPUT_NATIVE_SSL_CIPHER_SUITES, suites); } public static void setInputNativeReuseAddress(Configuration conf, String reuseAddress) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0356ee76/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index ff4f1e6..a6514e3 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java @@ -29,7 +29,6 @@ import com.google.common.collect.Maps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.BytesType; import org.apache.cassandra.dht.IPartitioner; @@ -124,7 +123,7 @@ public class CqlRecordReader extends RecordReader<Long, Row> } if (cluster != null) - session = cluster.connect(keyspace); + session = cluster.connect(quote(keyspace)); rowIterator = new RowIterator(); logger.debug("created {}", rowIterator); } @@ -486,4 +485,9 @@ public class CqlRecordReader extends RecordReader<Long, Row> return row.getMap(name, keysClass, valuesClass); } } + + private String quote(String identifier) + { + return "\"" + identifier.replaceAll("\"", "\"\"") + "\""; + } }