Merge branch 'cassandra-1.2' into cassandra-2.0

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

Branch: refs/heads/cassandra-2.0
Commit: cfa0e580eaa9f30f63bfa185386d405cf805d808
Parents: 16bb898 e983ef1
Author: Dave Brosius <dbros...@mebigfatguy.com>
Authored: Fri Oct 18 21:54:16 2013 -0400
Committer: Dave Brosius <dbros...@mebigfatguy.com>
Committed: Fri Oct 18 21:54:16 2013 -0400

----------------------------------------------------------------------
 NEWS.txt                                             | 15 ++++++++++-----
 .../org/apache/cassandra/service/StorageService.java | 12 ++++++------
 2 files changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cfa0e580/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index 4bffa77,d803f02..9d90ea7
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -14,115 -14,31 +14,120 @@@ restore snapshots created with the prev
  using the provided 'sstableupgrade' tool.
  
  
 -1.2.11
 -======
 +2.0.2
 +=====
  
 -Features
 ---------
 -    - Added a new consistenct level, LOCAL_ONE, that forces all CL.ONE 
operations to
 -      execute only in the local datacenter.
 -    - New replace_address to supplant the (now removed) replace_token and
 -      replace_node workflows to replace a dead node in place.  Works like the
 -      old options, but takes the IP address of the node to be replaced.
 +New features
 +------------
 +    - Speculative retry defaults to 99th percentile
 +      (See blog post at 
http://www.datastax.com/dev/blog/rapid-read-protection-in-cassandra-2-0-2)
 +    - Configurable metrics reporting
 +      (see conf/metrics-reporter-config-sample.yaml)
 +    - Compaction history and stats are now saved to system keyspace
 +      (system.compaction_history table). You can access historiy via
 +      new 'nodetool compactionhistory' command or CQL.
-     - Added a new consistenct level, LOCAL_ONE, that forces all CL.ONE 
operations to
-       execute only in the local datacenter.
-     - New replace_address to supplant the (now removed) replace_token and
-       replace_node workflows to replace a dead node in place.  Works like the
-       old options, but takes the IP address of the node to be replaced.
  
 +2.0.1
 +=====
  Upgrading
  ---------
 -    - ColumnFamilyMetrics#sstablesPerReadHistogram switched from uniform 
sampling
 -      to biased-to-last-five-minutes sampling.
 +    - The default memtable allocation has changed from 1/3 of heap to 1/4
 +      of heap.  Also, default (single-partition) read and write timeouts
 +      have been reduced from 10s to 5s and 2s, respectively.
  
  
 -1.2.10
 -======
 +2.0.0
 +=====
  
  Upgrading
  ---------
 -    - Nothing specific to this release, but please see 1.2.9 if you are 
upgrading
 -      from a previous version.
 +    - Java 7 is now *required*!
 +    - Upgrading is ONLY supported from Cassandra 1.2.9 or later. This
 +      goes for sstable compatibility as well as network.  When
 +      upgrading from an earlier release, upgrade to 1.2.9 first and
 +      run upgradesstables before proceeding to 2.0.
 +    - CAS and new features in CQL such as DROP COLUMN assume that cell
 +      timestamps are microseconds-since-epoch.  Do not use these
 +      features if you are using client-specified timestamps with some
 +      other source.
 +    - Replication and strategy options do not accept unknown options anymore.
 +      This was already the case for CQL3 in 1.2 but this is now the case for
 +      thrift too.
 +    - auto_bootstrap of a single-token node with no initial_token will
 +      now pick a random token instead of bisecting an existing token
 +      range.  We recommend upgrading to vnodes; failing that, we
 +      recommend specifying initial_token.
 +    - reduce_cache_sizes_at, reduce_cache_capacity_to, and
 +      flush_largest_memtables_at options have been removed from 
cassandra.yaml.
 +    - CacheServiceMBean.reduceCacheSizes() has been removed.
 +      Use CacheServiceMBean.set{Key,Row}CacheCapacityInMB() instead.
 +    - authority option in cassandra.yaml has been deprecated since 1.2.0,
 +      but it has been completely removed in 2.0. Please use 'authorizer' 
option.
 +    - ASSUME command has been removed from cqlsh. Use CQL3 blobAsType() and
 +      typeAsBlob() conversion functions instead.
 +      See https://cassandra.apache.org/doc/cql3/CQL.html#blobFun for details.
 +    - Inputting blobs as string constants is now fully deprecated in
 +      favor of blob constants. Make sure to update your applications to use
 +      the new syntax while you are still on 1.2 (which supports both string
 +      and blob constants for blob input) before upgrading to 2.0.
 +    - index_interval is now moved to ColumnFamily property. You can change 
value
 +      with ALTER TABLE ... WITH statement and SSTables written after that will
 +      have new value. When upgrading, Cassandra will pick up the value 
defined in
 +      cassanda.yaml as the default for existing ColumnFamilies, until you 
explicitly
 +      set the value for those.
 +    - The deprecated native_transport_min_threads option has been removed in
 +      Cassandra.yaml.
  
 +Operations
 +----------
 +    - VNodes are enabled by default in cassandra.yaml.  initial_token
 +      for non-vnode deployments has been removed from the example
 +      yaml, but is still respected if specified.
 +    - Major compactions, cleanup, scrub, and upgradesstables will interrupt 
 +      any in-progress compactions (but not repair validations) when invoked.
 +    - Disabling autocompactions by setting min/max compaction threshold to 0
 +      has been deprecated, instead, use the nodetool commands 
'disableautocompaction'
 +      and 'enableautocompaction' or set the compaction strategy option 
enabled = false
 +    - ALTER TABLE DROP has been reenabled for CQL3 tables and has new 
semantics now.
 +      See https://cassandra.apache.org/doc/cql3/CQL.html#alterTableStmt and
 +      https://issues.apache.org/jira/browse/CASSANDRA-3919 for details.
 +    - CAS uses gc_grace_seconds to determine how long to keep unused paxos
 +      state around for, or a minimum of three hours.
 +    - A new hints created metric is tracked per target, replacing 
countPendingHints
 +    - After performance testing for CASSANDRA-5727, the default LCS filesize
 +      has been changed from 5MB to 160MB.
 +    - cqlsh DESCRIBE SCHEMA no longer outputs the schema of system_* 
keyspaces;
 +      use DESCRIBE FULL SCHEMA if you need the schema of system_* keyspaces.
 +    - CQL2 has been deprecated, and will be removed entirely in 2.2. See
 +      CASSANDRA-5918 for details.
 +    - Commit log archiver now assumes the client time stamp to be in 
microsecond 
 +      precision, during restore. Please refer to 
commitlog_archiving.properties.
 +
 +
 +Features
 +--------
 +    - Lightweight transactions
 +      
(http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0)
 +    - Alias support has been added to CQL3 SELECT statement. Refer to
 +      CQL3 documentation (http://cassandra.apache.org/doc/cql3/CQL.html) for 
details.
 +    - JEMalloc support (see memory_allocator in cassandra.yaml)
 +    - Experimental triggers support.  See examples/ for how to use.  
"Experimental"
 +      means "tied closely to internal data structures; we plan to decouple 
this in
 +      the future, which will probably break triggers written against this 
initial
 +      API."
 +    - Numerous improvements to CQL3 and a new version of the native protocol. 
See
 +      http://www.datastax.com/dev/blog/cql-in-cassandra-2-0 for details.
 +
++1.2.11
++======
++
++Features
++--------
++    - Added a new consistenct level, LOCAL_ONE, that forces all CL.ONE 
operations to
++      execute only in the local datacenter.
++    - New replace_address to supplant the (now removed) replace_token and
++      replace_node workflows to replace a dead node in place.  Works like the
++      old options, but takes the IP address of the node to be replaced.
  
  1.2.9
  =====

http://git-wip-us.apache.org/repos/asf/cassandra/blob/cfa0e580/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 4916cbd,bde54a7..e45fb71
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -396,19 -404,20 +395,20 @@@ public class StorageService extends Not
          {
              if 
(Gossiper.instance.getEndpointStateForEndpoint(DatabaseDescriptor.getReplaceAddress()).getApplicationState(ApplicationState.TOKENS)
 == null)
                  throw new RuntimeException("Could not find tokens for " + 
DatabaseDescriptor.getReplaceAddress() + " to replace");
-             tokens = TokenSerializer.deserialize(getPartitioner(), new 
DataInputStream(new 
ByteArrayInputStream(getApplicationStateValue(DatabaseDescriptor.getReplaceAddress(),
 ApplicationState.TOKENS))));
+             Collection<Token> tokens = 
TokenSerializer.deserialize(getPartitioner(), new DataInputStream(new 
ByteArrayInputStream(getApplicationStateValue(DatabaseDescriptor.getReplaceAddress(),
 ApplicationState.TOKENS))));
+             
 -            SystemTable.setLocalHostId(hostId); // use the replacee's host Id 
as our own so we receive hints, etc
++            SystemKeyspace.setLocalHostId(hostId); // use the replacee's host 
Id as our own so we receive hints, etc
+             MessagingService.instance().shutdown();
+             Gossiper.instance.resetEndpointStateMap(); // clean up since we 
have what we need
+             return tokens;        
          }
          catch (IOException e)
          {
              throw new RuntimeException(e);
          }
-         SystemKeyspace.setLocalHostId(hostId); // use the replacee's host Id 
as our own so we receive hints, etc
-         MessagingService.instance().shutdown();
-         Gossiper.instance.resetEndpointStateMap(); // clean up since we have 
what we need
-         return tokens;
      }
  
 -    public synchronized void initClient() throws IOException, 
ConfigurationException
 +    public synchronized void initClient() throws ConfigurationException
      {
          // We don't wait, because we're going to actually try to work on
          initClient(0);

Reply via email to