From 2c62adab36a589e9ff9e9169fd2125272e067918 Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Sat, 28 Jan 2012 00:03:12 +0200 Subject: [PATCH 1/3] fix setting compaction_strategy_class using CQL --- .../cassandra/cql/CreateColumnFamilyStatement.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java b/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java index 1095a72143..c0568b98cd 100644 --- a/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java +++ b/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java @@ -37,6 +37,7 @@ import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.db.ColumnFamilyType; +import org.apache.cassandra.db.compaction.AbstractCompactionStrategy; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.TypeParser; import org.apache.cassandra.thrift.InvalidRequestException; @@ -114,6 +115,7 @@ public class CreateColumnFamilyStatement private final Map properties = new HashMap(); private List keyValidator = new ArrayList(); private ByteBuffer keyAlias = null; + private Class compactionStrategyClass; private final Map compactionStrategyOptions = new HashMap(); private final Map compressionParameters = new HashMap(); @@ -125,6 +127,17 @@ public class CreateColumnFamilyStatement /** Perform validation of parsed params */ private void validate() throws InvalidRequestException { + String compStrategy = getPropertyString(KW_COMPACTION_STRATEGY_CLASS, CFMetaData.DEFAULT_COMPACTION_STRATEGY_CLASS); + + try + { + compactionStrategyClass = CFMetaData.createCompactionStrategy(compStrategy); + } + catch (ConfigurationException e) + { + throw new InvalidRequestException(e.getMessage()); + } + // we need to remove parent:key = value pairs from the main properties Set propsToRemove = new HashSet(); @@ -338,6 +351,7 @@ public class CreateColumnFamilyStatement .keyValidator(TypeParser.parse(comparators.get(getKeyType()))) .rowCacheProvider(FBUtilities.newCacheProvider(getPropertyString(KW_ROW_CACHE_PROVIDER, CFMetaData.DEFAULT_ROW_CACHE_PROVIDER.getClass().getName()))) .keyAlias(keyAlias) + .compactionStrategyClass(compactionStrategyClass) .compactionStrategyOptions(compactionStrategyOptions) .compressionParameters(CompressionParameters.create(compressionParameters)) .validate(); From 46adb0db9ceeafb166012632d20d61d1d85ce5bc Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Sun, 29 Jan 2012 02:19:45 +0200 Subject: [PATCH 2/3] show index options in CLI patch by Pavel Yaskevich; reviewed by Jonathan Ellis for CASSANDRA-3809 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/cli/CliClient.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index db24da41e9..d32eba87e6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,7 @@ * (cqlsh) format blobs correctly and use colors to improve output readability (CASSANDRA-3726) * synchronize BiMap of bootstrapping tokens (CASSANDRA-3417) + * show index options in CLI (CASSANDRA-3809) 1.0.7 diff --git a/src/java/org/apache/cassandra/cli/CliClient.java b/src/java/org/apache/cassandra/cli/CliClient.java index c83ba97cd0..61cc53e118 100644 --- a/src/java/org/apache/cassandra/cli/CliClient.java +++ b/src/java/org/apache/cassandra/cli/CliClient.java @@ -2043,6 +2043,9 @@ public class CliClient if (columnDef.isSetIndex_type()) sessionState.out.println(columnLeftSpace + "Index Type: " + columnDef.getIndex_type().name()); + + if (columnDef.isSetIndex_options()) + sessionState.out.println(columnLeftSpace + "Index Options: " + columnDef.getIndex_options()); } } From 119fa050307a9ea768ef5c9fcb90124950feb56b Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Sun, 29 Jan 2012 04:31:49 +0200 Subject: [PATCH 3/3] Revert "fix setting compaction_strategy_class using CQL" This reverts commit 2c62adab36a589e9ff9e9169fd2125272e067918. --- .../cassandra/cql/CreateColumnFamilyStatement.java | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java b/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java index c0568b98cd..1095a72143 100644 --- a/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java +++ b/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java @@ -37,7 +37,6 @@ import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.db.ColumnFamilyType; -import org.apache.cassandra.db.compaction.AbstractCompactionStrategy; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.TypeParser; import org.apache.cassandra.thrift.InvalidRequestException; @@ -115,7 +114,6 @@ public class CreateColumnFamilyStatement private final Map properties = new HashMap(); private List keyValidator = new ArrayList(); private ByteBuffer keyAlias = null; - private Class compactionStrategyClass; private final Map compactionStrategyOptions = new HashMap(); private final Map compressionParameters = new HashMap(); @@ -127,17 +125,6 @@ public class CreateColumnFamilyStatement /** Perform validation of parsed params */ private void validate() throws InvalidRequestException { - String compStrategy = getPropertyString(KW_COMPACTION_STRATEGY_CLASS, CFMetaData.DEFAULT_COMPACTION_STRATEGY_CLASS); - - try - { - compactionStrategyClass = CFMetaData.createCompactionStrategy(compStrategy); - } - catch (ConfigurationException e) - { - throw new InvalidRequestException(e.getMessage()); - } - // we need to remove parent:key = value pairs from the main properties Set propsToRemove = new HashSet(); @@ -351,7 +338,6 @@ public class CreateColumnFamilyStatement .keyValidator(TypeParser.parse(comparators.get(getKeyType()))) .rowCacheProvider(FBUtilities.newCacheProvider(getPropertyString(KW_ROW_CACHE_PROVIDER, CFMetaData.DEFAULT_ROW_CACHE_PROVIDER.getClass().getName()))) .keyAlias(keyAlias) - .compactionStrategyClass(compactionStrategyClass) .compactionStrategyOptions(compactionStrategyOptions) .compressionParameters(CompressionParameters.create(compressionParameters)) .validate();