Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82d1600d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82d1600d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82d1600d Branch: refs/heads/trunk Commit: 82d1600d78fca3879f2204d46c597c93c53c40b2 Parents: 47b50b4 df819ec Author: Aleksey Yeschenko <alek...@apache.org> Authored: Wed Sep 21 18:13:41 2016 -0700 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Wed Sep 21 18:14:49 2016 -0700 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 4 ++-- .../apache/cassandra/service/StorageService.java | 17 ++++++++++++++--- 3 files changed, 17 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/82d1600d/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index d9db977,bc9fc5b..0524e49 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,5 +1,11 @@@ -2.2.8 +3.0.10 + * Skip writing MV mutations to commitlog on mutation.applyUnsafe() (CASSANDRA-11670) + * Establish consistent distinction between non-existing partition and NULL value for LWTs on static columns (CASSANDRA-12060) + * Extend ColumnIdentifier.internedInstances key to include the type that generated the byte buffer (CASSANDRA-12516) + * Backport CASSANDRA-10756 (race condition in NativeTransportService shutdown) (CASSANDRA-12472) + * If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499) +Merged from 2.2: + * Fix exceptions when enabling gossip on nodes that haven't joined the ring (CASSANDRA-12253) * Fix authentication problem when invoking clqsh copy from a SOURCE command (CASSANDRA-12642) * Decrement pending range calculator jobs counter in finally block (CASSANDRA-12554) http://git-wip-us.apache.org/repos/asf/cassandra/blob/82d1600d/src/java/org/apache/cassandra/gms/Gossiper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/82d1600d/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/StorageService.java index c06bed2,0b6e851..15a0146 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -707,17 -685,7 +718,17 @@@ public class StorageService extends Not { Map<ApplicationState, VersionedValue> appStates = new EnumMap<>(ApplicationState.class); + if (SystemKeyspace.wasDecommissioned()) + { + if (Boolean.getBoolean("cassandra.override_decommission")) + { + logger.warn("This node was decommissioned, but overriding by operator request."); + SystemKeyspace.setBootstrapState(SystemKeyspace.BootstrapState.COMPLETED); + } + else + throw new ConfigurationException("This node was decommissioned and will not rejoin the ring unless cassandra.override_decommission=true has been set, or all existing data is removed and the node is bootstrapped again"); + } - if (replacing && !(Boolean.parseBoolean(System.getProperty("cassandra.join_ring", "true")))) + if (replacing && !joinRing) throw new ConfigurationException("Cannot set both join_ring=false and attempt to replace a node"); if (DatabaseDescriptor.getReplaceTokens().size() > 0 || DatabaseDescriptor.getReplaceNode() != null) throw new RuntimeException("Replace method removed; use cassandra.replace_address instead");