Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 a7a03887c -> 37ca86b94
Warn if system_traces not available for CASSANDRA-9628 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9135340a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9135340a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9135340a Branch: refs/heads/cassandra-3.0 Commit: 9135340a13531930f26fb8175b057342791ff044 Parents: f6deca3 Author: Carl Yeksigian <c...@apache.org> Authored: Thu Oct 8 12:13:28 2015 -0400 Committer: Sylvain Lebresne <sylv...@datastax.com> Committed: Fri Dec 11 10:23:14 2015 +0100 ---------------------------------------------------------------------- .../cassandra/service/StorageService.java | 40 +++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9135340a/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 0d9e9ef..0698d11 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -4004,28 +4004,32 @@ public class StorageService extends NotificationBroadcasterSupport implements IE if (keyspace != null) { - Keyspace keyspaceInstance = Schema.instance.getKeyspaceInstance(keyspace); - if(keyspaceInstance == null) - throw new IllegalArgumentException("The keyspace " + keyspace + ", does not exist"); + Keyspace keyspaceInstance = Schema.instance.getKeyspaceInstance(keyspace); + if(keyspaceInstance == null) + throw new IllegalArgumentException("The keyspace " + keyspace + ", does not exist"); - if(keyspaceInstance.getReplicationStrategy() instanceof LocalStrategy) - throw new IllegalStateException("Ownership values for keyspaces with LocalStrategy are meaningless"); + if(keyspaceInstance.getReplicationStrategy() instanceof LocalStrategy) + throw new IllegalStateException("Ownership values for keyspaces with LocalStrategy are meaningless"); } else { - List<String> nonSystemKeyspaces = Schema.instance.getNonSystemKeyspaces(); - - //system_traces is a non-system keyspace however it needs to be counted as one for this process - int specialTableCount = 0; - if (nonSystemKeyspaces.contains("system_traces")) - { - specialTableCount += 1; - } - if (nonSystemKeyspaces.size() > specialTableCount) - throw new IllegalStateException("Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless"); - - keyspace = "system_traces"; - } + List<String> nonSystemKeyspaces = Schema.instance.getNonSystemKeyspaces(); + + //system_traces is a non-system keyspace however it needs to be counted as one for this process + int specialTableCount = 0; + if (nonSystemKeyspaces.contains("system_traces")) + { + specialTableCount += 1; + } + if (nonSystemKeyspaces.size() > specialTableCount) + throw new IllegalStateException("Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless"); + + keyspace = "system_traces"; + + Keyspace keyspaceInstance = Schema.instance.getKeyspaceInstance(keyspace); + if(keyspaceInstance == null) + throw new IllegalArgumentException("The node does not have " + keyspace + " yet, probably still bootstrapping"); + } TokenMetadata metadata = tokenMetadata.cloneOnlyTokenMap();