Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 85aa794e1 -> 62db99037
Include schema_triggers CF in readable system resources patch by Adam Holmberg; reviewed by Aleksey Yeschenko for CASSANDRA-7967 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/62db9903 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/62db9903 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/62db9903 Branch: refs/heads/cassandra-2.0 Commit: 62db99037e19dcd75b0aa052619e3f10baca375d Parents: 85aa794 Author: Aleksey Yeschenko <[email protected]> Authored: Wed Sep 17 22:39:40 2014 -0700 Committer: Aleksey Yeschenko <[email protected]> Committed: Wed Sep 17 22:40:51 2014 -0700 ---------------------------------------------------------------------- CHANGES.txt | 3 ++- src/java/org/apache/cassandra/db/SystemKeyspace.java | 5 +++++ src/java/org/apache/cassandra/service/ClientState.java | 11 ++++------- 3 files changed, 11 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db9903/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 58c6647..1eab20e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.0.11: + * Include schema_triggers CF in readable system resources (CASSANDRA-7967) + * Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948) * Make CQLSSTableWriter sync within partitions (CASSANDRA-7360) * Potentially use non-local replicas in CqlConfigHelper (CASSANDRA-7906) * Explicitly disallowing mixing multi-column and single-column @@ -11,7 +13,6 @@ * Always send Paxos commit to all replicas (CASSANDRA-7479) * Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594) * Make repair no-op when RF=1 (CASSANDRA-7864) - * Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948) Merged from 1.2: * Don't index tombstones (CASSANDRA-7828) http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db9903/src/java/org/apache/cassandra/db/SystemKeyspace.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java index fe8f179..5b77f63 100644 --- a/src/java/org/apache/cassandra/db/SystemKeyspace.java +++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java @@ -86,6 +86,11 @@ public class SystemKeyspace private static final String LOCAL_KEY = "local"; private static final ByteBuffer ALL_LOCAL_NODE_ID_KEY = ByteBufferUtil.bytes("Local"); + public static final List<String> allSchemaCfs = Arrays.asList(SCHEMA_KEYSPACES_CF, + SCHEMA_COLUMNFAMILIES_CF, + SCHEMA_COLUMNS_CF, + SCHEMA_TRIGGERS_CF); + private static volatile Map<UUID, Pair<ReplayPosition, Long>> truncationRecords; public enum BootstrapState http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db9903/src/java/org/apache/cassandra/service/ClientState.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/ClientState.java b/src/java/org/apache/cassandra/service/ClientState.java index be3b895..44f2b87 100644 --- a/src/java/org/apache/cassandra/service/ClientState.java +++ b/src/java/org/apache/cassandra/service/ClientState.java @@ -25,6 +25,7 @@ import java.util.concurrent.TimeUnit; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -62,13 +63,9 @@ public class ClientState static { - // We want these system cfs to be always readable since many tools rely on them (nodetool, cqlsh, bulkloader, etc.) - String[] cfs = new String[] { SystemKeyspace.LOCAL_CF, - SystemKeyspace.PEERS_CF, - SystemKeyspace.SCHEMA_KEYSPACES_CF, - SystemKeyspace.SCHEMA_COLUMNFAMILIES_CF, - SystemKeyspace.SCHEMA_COLUMNS_CF }; - for (String cf : cfs) + // We want these system cfs to be always readable to authenticated users since many tools rely on them + // (nodetool, cqlsh, bulkloader, etc.) + for (String cf : Iterables.concat(Arrays.asList(SystemKeyspace.LOCAL_CF, SystemKeyspace.PEERS_CF), SystemKeyspace.allSchemaCfs)) READABLE_SYSTEM_RESOURCES.add(DataResource.columnFamily(Keyspace.SYSTEM_KS, cf)); PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
