From 0356ee76e4c0b4b863625c5517ae8a4f883766dc Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Tue, 20 May 2014 11:09:04 -0500 Subject: [PATCH] Fix ConfigHelper.setInputColumnFamily with uppercased keyspace names. Patch by Alex Liu, reviewed by pkolackzk for CASSANDRA-7093 --- .../hadoop/cql3/CqlConfigHelper.java | 20 +++++++++---------- .../hadoop/cql3/CqlRecordReader.java | 8 ++++++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlConfigHelper.java index a2cf1e7e3f..63279d17e7 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) diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java index ff4f1e6697..a6514e3f1e 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 } 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 return row.getMap(name, keysClass, valuesClass); } } + + private String quote(String identifier) + { + return "\"" + identifier.replaceAll("\"", "\"\"") + "\""; + } }