Merge branch 'cassandra-2.2' into cassandra-3.0

Conflicts:
        NEWS.txt
        src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
        test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2dfcb221
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2dfcb221
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2dfcb221

Branch: refs/heads/trunk
Commit: 2dfcb221c6db589c1e91aa122fd727f417098568
Parents: 929438b 2dd8101
Author: Marcus Eriksson <marc...@apache.org>
Authored: Mon Aug 10 09:33:54 2015 +0200
Committer: Marcus Eriksson <marc...@apache.org>
Committed: Mon Aug 10 09:33:54 2015 +0200

----------------------------------------------------------------------
 NEWS.txt                                                |  4 +++-
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 12 ++++++------
 .../org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 12 ++++++------
 .../cassandra/db/compaction/CompactionsCQLTest.java     | 11 +++++------
 4 files changed, 20 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dfcb221/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index 5a690bd,d0a6d9d..4a59553
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,56 -13,6 +13,56 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +3.0
 +===
 +
 +New features
 +------------
 +   - Materialized Views, which allow for server-side denormalization, is now
 +     available. Materialized views provide an alternative to secondary indexes
 +     for non-primary key queries, and perform much better for indexing high
 +     cardinality columns.
 +     See 
http://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views
 +
 +
 +Upgrading
 +---------
 +   - 3.0 requires Java 8u20 or later.
 +   - The default JVM GC has been changed to G1GC.
 +   - The default JVM flag -XX:+PerfDisableSharedMem will cause the following 
tools JVM
 +     to stop working: jps, jstack, jinfo, jmc, jcmd as well as 3rd party 
tools like Jolokia.
 +     If you wish to use these tools you can comment this flag out in 
cassandra-env.{sh,ps1}
 +   - New write stages have been added for batchlog and materialized view 
mutations
 +     you can set their size in cassandra.yaml
 +   - User defined functions are now executed in a sandbox.
 +     To use UDFs and UDAs, you have to enable them in cassandra.yaml.
 +   - New SSTable version 'la' with improved bloom-filter false-positive 
handling
 +     compared to previous version 'ka' used in 2.2 and 2.1. Running 
sstableupgrade
 +     is not necessary but recommended.
 +   - Before upgrading to 3.0, make sure that your cluster is in complete 
agreement
 +     (schema versions outputted by `nodetool describecluster` are all the 
same).
 +   - Schema metadata is now stored in the new `system_schema` keyspace, and
 +     legacy `system.schema_*` tables are now gone; see CASSANDRA-6717 for 
details.
 +   - Pig's CassandraStorage has been removed. Use CqlNativeStorage instead.
 +   - Hadoop BulkOutputFormat and BulkRecordWriter have been removed; use
 +     CqlBulkOutputFormat and CqlBulkRecordWriter instead.
 +   - Hadoop ColumnFamilyInputFormat and ColumnFamilyOutputFormat have been 
removed;
 +     use CqlInputFormat and CqlOutputFormat instead.
 +   - Hadoop ColumnFamilyRecordReader and ColumnFamilyRecordWriter have been 
removed;
 +     use CqlRecordReader and CqlRecordWriter instead.
 +   - hinted_handoff_enabled in cassandra.yaml no longer supports a list of 
data centers.
 +     To specify a list of excluded data centers when hinted_handoff_enabled 
is set to true,
 +     use hinted_handoff_disabled_datacenters, see CASSANDRA-9035 for details.
 +   - The `sstable_compression` and `chunk_length_kb` compression options have 
been deprecated.
 +     The new options are `class` and `chunk_length_in_kb`. Disabling 
compression should now
 +     be done by setting the new option `enabled` to `false`.
 +   - Only map syntax is now allowed for caching options. 
ALL/NONE/KEYS_ONLY/ROWS_ONLY syntax
 +     has been deprecated since 2.1.0 and is being removed in 3.0.0.
 +   - Batchlog entries are now stored in a new table - system.batches.
 +     The old one has been deprecated.
 +   - JMX methods set/getCompactionStrategyClass have been removed, use
-      set/getLocalCompactionStrategy or set/getLocalCompactionStrategyJson 
instead.
++     set/getCompactionParameters or set/getCompactionParametersJson instead.
 +
  2.2
  ===
  
@@@ -161,8 -111,9 +161,10 @@@ Upgradin
      - Commit log files are no longer recycled by default, due to negative
        performance implications. This can be enabled again with the 
        commitlog_segment_recycling option in your cassandra.yaml 
+     - JMX methods set/getCompactionStrategyClass have been deprecated, use
+       set/getCompactionParameters/set/getCompactionParametersJson instead
  
 +
  2.1.8
  =====
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dfcb221/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 4ae6694,482e3ee..c89f16a
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -274,9 -287,29 +274,9 @@@ public class ColumnFamilyStore implemen
          }
      }
  
-     public Map<String, String> getLocalCompactionStrategy()
+     public Map<String, String> getCompactionParameters()
      {
 -        Map<String, String> options = new 
HashMap<>(compactionStrategyWrapper.options);
 -        options.put("class", compactionStrategyWrapper.getName());
 -        return options;
 -    }
 -
 -    public void setCompactionStrategyClass(String compactionStrategyClass)
 -    {
 -        try
 -        {
 -            metadata.compactionStrategyClass = 
CFMetaData.createCompactionStrategy(compactionStrategyClass);
 -            compactionStrategyWrapper.maybeReloadCompactionStrategy(metadata);
 -        }
 -        catch (ConfigurationException e)
 -        {
 -            throw new IllegalArgumentException(e.getMessage());
 -        }
 -    }
 -
 -    public String getCompactionStrategyClass()
 -    {
 -        return metadata.compactionStrategyClass.getName();
 +        return compactionStrategyManager.getCompactionParams().asMap();
      }
  
      public Map<String,String> getCompressionParameters()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dfcb221/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
index 84c6dd1,b4511d0..c900442
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
@@@ -86,8 -83,20 +86,8 @@@ public interface ColumnFamilyStoreMBea
       *
       * @param options compaction options map
       */
-     public void setLocalCompactionStrategy(Map<String, String> options);
-     public Map<String, String> getLocalCompactionStrategy();
+     public void setCompactionParameters(Map<String, String> options);
+     public Map<String, String> getCompactionParameters();
 -    /**
 -     * Sets the compaction strategy by class name
 -     * @param className the name of the compaction strategy class
 -     */
 -    @Deprecated
 -    public void setCompactionStrategyClass(String className);
 -
 -    /**
 -     * Gets the compaction strategy class name
 -     */
 -    @Deprecated
 -    public String getCompactionStrategyClass();
  
      /**
       * Get the compression parameters

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dfcb221/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
index 63b21df,46ade76..7aa47c0
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java
@@@ -151,8 -151,9 +151,8 @@@ public class CompactionsCQLTest extend
          createTable("CREATE TABLE %s (id text PRIMARY KEY)");
          Map<String, String> localOptions = new HashMap<>();
          localOptions.put("class", "DateTieredCompactionStrategy");
-         
getCurrentColumnFamilyStore().setLocalCompactionStrategy(localOptions);
+         getCurrentColumnFamilyStore().setCompactionParameters(localOptions);
 -        WrappingCompactionStrategy wrappingCompactionStrategy = 
(WrappingCompactionStrategy) 
getCurrentColumnFamilyStore().getCompactionStrategy();
 -        assertTrue(verifyStrategies(wrappingCompactionStrategy, 
DateTieredCompactionStrategy.class));
 +        
assertTrue(verifyStrategies(getCurrentColumnFamilyStore().getCompactionStrategyManager(),
 DateTieredCompactionStrategy.class));
          // altering something non-compaction related
          execute("ALTER TABLE %s WITH gc_grace_seconds = 1000");
          // should keep the local compaction strat
@@@ -171,13 -172,13 +171,13 @@@
          Map<String, String> localOptions = new HashMap<>();
          localOptions.put("class", "DateTieredCompactionStrategy");
          localOptions.put("enabled", "false");
-         
getCurrentColumnFamilyStore().setLocalCompactionStrategy(localOptions);
+         getCurrentColumnFamilyStore().setCompactionParameters(localOptions);
 -        
assertFalse(getCurrentColumnFamilyStore().getCompactionStrategy().isEnabled());
 +        
assertFalse(getCurrentColumnFamilyStore().getCompactionStrategyManager().isEnabled());
          localOptions.clear();
          localOptions.put("class", "DateTieredCompactionStrategy");
          // localOptions.put("enabled", "true"); - this is default!
-         
getCurrentColumnFamilyStore().setLocalCompactionStrategy(localOptions);
+         getCurrentColumnFamilyStore().setCompactionParameters(localOptions);
 -        
assertTrue(getCurrentColumnFamilyStore().getCompactionStrategy().isEnabled());
 +        
assertTrue(getCurrentColumnFamilyStore().getCompactionStrategyManager().isEnabled());
      }
  
  
@@@ -189,11 -190,11 +189,10 @@@
          localOptions.put("class", "DateTieredCompactionStrategy");
  
          getCurrentColumnFamilyStore().disableAutoCompaction();
 -        
assertFalse(getCurrentColumnFamilyStore().getCompactionStrategy().isEnabled());
 +        
assertFalse(getCurrentColumnFamilyStore().getCompactionStrategyManager().isEnabled());
  
-         
getCurrentColumnFamilyStore().setLocalCompactionStrategy(localOptions);
+         getCurrentColumnFamilyStore().setCompactionParameters(localOptions);
 -        
assertTrue(getCurrentColumnFamilyStore().getCompactionStrategy().isEnabled());
 -
 +        
assertTrue(getCurrentColumnFamilyStore().getCompactionStrategyManager().isEnabled());
- 
      }
  
  
@@@ -205,13 -206,13 +204,13 @@@
          Map<String, String> localOptions = new HashMap<>();
          localOptions.put("class","SizeTieredCompactionStrategy");
          localOptions.put("sstable_size_in_mb","1234"); // not for STCS
-         
getCurrentColumnFamilyStore().setLocalCompactionStrategy(localOptions);
+         getCurrentColumnFamilyStore().setCompactionParameters(localOptions);
      }
  
 -    public boolean verifyStrategies(WrappingCompactionStrategy 
wrappingStrategy, Class<? extends AbstractCompactionStrategy> expected)
 +    public boolean verifyStrategies(CompactionStrategyManager manager, 
Class<? extends AbstractCompactionStrategy> expected)
      {
          boolean found = false;
 -        for (AbstractCompactionStrategy actualStrategy : 
wrappingStrategy.getWrappedStrategies())
 +        for (AbstractCompactionStrategy actualStrategy : 
manager.getStrategies())
          {
              if (!actualStrategy.getClass().equals(expected))
                  return false;

Reply via email to