You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2015/09/08 11:46:40 UTC
[1/6] cassandra git commit: Defer initialization of default
RoleManager until IAuthenticator is set
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.2 dae2045f0 -> 0c0f1ff1b
refs/heads/cassandra-3.0 60e45c0ae -> 3818d30bd
refs/heads/trunk 9d8091fb2 -> fba356d1d
Defer initialization of default RoleManager until IAuthenticator is set
Patch by Sam Tunnicliffe and Carl Yeksigian; reviewed by Jonathan Ellis
for CASSANDRA-10209
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0c0f1ff1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0c0f1ff1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0c0f1ff1
Branch: refs/heads/cassandra-2.2
Commit: 0c0f1ff1b1051627f38a8bf6cb0776241586dfce
Parents: dae2045
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Thu Aug 27 20:21:17 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:17:53 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7ac7b23..5dffb9b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index b7e3eaa..423185b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -87,7 +87,9 @@ public class DatabaseDescriptor
private static IAuthenticator authenticator = new AllowAllAuthenticator();
private static IAuthorizer authorizer = new AllowAllAuthorizer();
- private static IRoleManager roleManager = new CassandraRoleManager();
+ // Don't initialize the role manager until applying config. The options supported by CassandraRoleManager
+ // depend on the configured IAuthenticator, so defer creating it until that's been set.
+ private static IRoleManager roleManager;
private static IRequestScheduler requestScheduler;
private static RequestSchedulerId requestSchedulerId;
@@ -325,6 +327,8 @@ public class DatabaseDescriptor
if (conf.role_manager != null)
roleManager = FBUtilities.newRoleManager(conf.role_manager);
+ else
+ roleManager = new CassandraRoleManager();
if (authenticator instanceof PasswordAuthenticator && !(roleManager instanceof CassandraRoleManager))
throw new ConfigurationException("CassandraRoleManager must be used with PasswordAuthenticator", false);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/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 a8e13d1..a15fa5c 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -29,6 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.auth.*;
+import org.apache.cassandra.config.Config;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.QueryHandler;
@@ -64,9 +65,12 @@ public class ClientState
for (String cf : Iterables.concat(Arrays.asList(SystemKeyspace.LOCAL, SystemKeyspace.PEERS), LegacySchemaTables.ALL))
READABLE_SYSTEM_RESOURCES.add(DataResource.table(SystemKeyspace.NAME, cf));
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ if (!Config.isClientMode())
+ {
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ }
// allow users with sufficient privileges to alter KS level options on AUTH_KS and
// TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by sa...@apache.org.
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/3818d30b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3818d30b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3818d30b
Branch: refs/heads/trunk
Commit: 3818d30bd1a253e39a296efd50185fe4d5bb3f42
Parents: 60e45c0 0c0f1ff
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Tue Sep 8 10:27:35 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:27:35 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index d6ebe7a,5dffb9b..b7c6669
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,5 +1,31 @@@
-2.2.2
- * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
+3.0.0-rc1
+ * Small optimizations of sstable index serialization (CASSANDRA-10232)
+ * Support for both encrypted and unencrypted native transport connections (CASSANDRA-9590)
++Merged from 2.2:
++ * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
+
+
+3.0.0-beta2
+ * Fix columns returned by AbstractBtreePartitions (CASSANDRA-10220)
+ * Fix backward compatibility issue due to AbstractBounds serialization bug (CASSANDRA-9857)
+ * Fix startup error when upgrading nodes (CASSANDRA-10136)
+ * Base table PRIMARY KEY can be assumed to be NOT NULL in MV creation (CASSANDRA-10147)
+ * Improve batchlog write patch (CASSANDRA-9673)
+ * Re-apply MaterializedView updates on commitlog replay (CASSANDRA-10164)
+ * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
+ * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
+ * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
+ * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
+ * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
+ * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
+ * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
+ * Fix double flushing of secondary index tables (CASSANDRA-10180)
+ * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
+ * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
+ * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
+ * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
+ * Fix sstablerepairedset (CASSANDRA-10132)
+Merged from 2.2:
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/src/java/org/apache/cassandra/service/ClientState.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/ClientState.java
index f8d3939,a15fa5c..f2ed984
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@@ -60,14 -62,15 +61,17 @@@ public class ClientStat
{
// 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, SystemKeyspace.PEERS), LegacySchemaTables.ALL))
+ for (String cf : Arrays.asList(SystemKeyspace.LOCAL, SystemKeyspace.PEERS))
READABLE_SYSTEM_RESOURCES.add(DataResource.table(SystemKeyspace.NAME, cf));
+ SchemaKeyspace.ALL.forEach(table -> READABLE_SYSTEM_RESOURCES.add(DataResource.table(SchemaKeyspace.NAME, table)));
+
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ if (!Config.isClientMode())
+ {
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ }
// allow users with sufficient privileges to alter KS level options on AUTH_KS and
// TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
[3/6] cassandra git commit: Defer initialization of default
RoleManager until IAuthenticator is set
Posted by sa...@apache.org.
Defer initialization of default RoleManager until IAuthenticator is set
Patch by Sam Tunnicliffe and Carl Yeksigian; reviewed by Jonathan Ellis
for CASSANDRA-10209
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0c0f1ff1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0c0f1ff1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0c0f1ff1
Branch: refs/heads/trunk
Commit: 0c0f1ff1b1051627f38a8bf6cb0776241586dfce
Parents: dae2045
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Thu Aug 27 20:21:17 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:17:53 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7ac7b23..5dffb9b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index b7e3eaa..423185b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -87,7 +87,9 @@ public class DatabaseDescriptor
private static IAuthenticator authenticator = new AllowAllAuthenticator();
private static IAuthorizer authorizer = new AllowAllAuthorizer();
- private static IRoleManager roleManager = new CassandraRoleManager();
+ // Don't initialize the role manager until applying config. The options supported by CassandraRoleManager
+ // depend on the configured IAuthenticator, so defer creating it until that's been set.
+ private static IRoleManager roleManager;
private static IRequestScheduler requestScheduler;
private static RequestSchedulerId requestSchedulerId;
@@ -325,6 +327,8 @@ public class DatabaseDescriptor
if (conf.role_manager != null)
roleManager = FBUtilities.newRoleManager(conf.role_manager);
+ else
+ roleManager = new CassandraRoleManager();
if (authenticator instanceof PasswordAuthenticator && !(roleManager instanceof CassandraRoleManager))
throw new ConfigurationException("CassandraRoleManager must be used with PasswordAuthenticator", false);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/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 a8e13d1..a15fa5c 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -29,6 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.auth.*;
+import org.apache.cassandra.config.Config;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.QueryHandler;
@@ -64,9 +65,12 @@ public class ClientState
for (String cf : Iterables.concat(Arrays.asList(SystemKeyspace.LOCAL, SystemKeyspace.PEERS), LegacySchemaTables.ALL))
READABLE_SYSTEM_RESOURCES.add(DataResource.table(SystemKeyspace.NAME, cf));
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ if (!Config.isClientMode())
+ {
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ }
// allow users with sufficient privileges to alter KS level options on AUTH_KS and
// TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by sa...@apache.org.
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/3818d30b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3818d30b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3818d30b
Branch: refs/heads/cassandra-3.0
Commit: 3818d30bd1a253e39a296efd50185fe4d5bb3f42
Parents: 60e45c0 0c0f1ff
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Tue Sep 8 10:27:35 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:27:35 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index d6ebe7a,5dffb9b..b7c6669
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,5 +1,31 @@@
-2.2.2
- * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
+3.0.0-rc1
+ * Small optimizations of sstable index serialization (CASSANDRA-10232)
+ * Support for both encrypted and unencrypted native transport connections (CASSANDRA-9590)
++Merged from 2.2:
++ * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
+
+
+3.0.0-beta2
+ * Fix columns returned by AbstractBtreePartitions (CASSANDRA-10220)
+ * Fix backward compatibility issue due to AbstractBounds serialization bug (CASSANDRA-9857)
+ * Fix startup error when upgrading nodes (CASSANDRA-10136)
+ * Base table PRIMARY KEY can be assumed to be NOT NULL in MV creation (CASSANDRA-10147)
+ * Improve batchlog write patch (CASSANDRA-9673)
+ * Re-apply MaterializedView updates on commitlog replay (CASSANDRA-10164)
+ * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
+ * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
+ * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
+ * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
+ * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
+ * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
+ * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
+ * Fix double flushing of secondary index tables (CASSANDRA-10180)
+ * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
+ * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
+ * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
+ * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
+ * Fix sstablerepairedset (CASSANDRA-10132)
+Merged from 2.2:
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3818d30b/src/java/org/apache/cassandra/service/ClientState.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/ClientState.java
index f8d3939,a15fa5c..f2ed984
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@@ -60,14 -62,15 +61,17 @@@ public class ClientStat
{
// 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, SystemKeyspace.PEERS), LegacySchemaTables.ALL))
+ for (String cf : Arrays.asList(SystemKeyspace.LOCAL, SystemKeyspace.PEERS))
READABLE_SYSTEM_RESOURCES.add(DataResource.table(SystemKeyspace.NAME, cf));
+ SchemaKeyspace.ALL.forEach(table -> READABLE_SYSTEM_RESOURCES.add(DataResource.table(SchemaKeyspace.NAME, table)));
+
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ if (!Config.isClientMode())
+ {
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ }
// allow users with sufficient privileges to alter KS level options on AUTH_KS and
// TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
[2/6] cassandra git commit: Defer initialization of default
RoleManager until IAuthenticator is set
Posted by sa...@apache.org.
Defer initialization of default RoleManager until IAuthenticator is set
Patch by Sam Tunnicliffe and Carl Yeksigian; reviewed by Jonathan Ellis
for CASSANDRA-10209
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0c0f1ff1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0c0f1ff1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0c0f1ff1
Branch: refs/heads/cassandra-3.0
Commit: 0c0f1ff1b1051627f38a8bf6cb0776241586dfce
Parents: dae2045
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Thu Aug 27 20:21:17 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:17:53 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7ac7b23..5dffb9b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.2
+ * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index b7e3eaa..423185b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -87,7 +87,9 @@ public class DatabaseDescriptor
private static IAuthenticator authenticator = new AllowAllAuthenticator();
private static IAuthorizer authorizer = new AllowAllAuthorizer();
- private static IRoleManager roleManager = new CassandraRoleManager();
+ // Don't initialize the role manager until applying config. The options supported by CassandraRoleManager
+ // depend on the configured IAuthenticator, so defer creating it until that's been set.
+ private static IRoleManager roleManager;
private static IRequestScheduler requestScheduler;
private static RequestSchedulerId requestSchedulerId;
@@ -325,6 +327,8 @@ public class DatabaseDescriptor
if (conf.role_manager != null)
roleManager = FBUtilities.newRoleManager(conf.role_manager);
+ else
+ roleManager = new CassandraRoleManager();
if (authenticator instanceof PasswordAuthenticator && !(roleManager instanceof CassandraRoleManager))
throw new ConfigurationException("CassandraRoleManager must be used with PasswordAuthenticator", false);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c0f1ff1/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 a8e13d1..a15fa5c 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -29,6 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.auth.*;
+import org.apache.cassandra.config.Config;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.QueryHandler;
@@ -64,9 +65,12 @@ public class ClientState
for (String cf : Iterables.concat(Arrays.asList(SystemKeyspace.LOCAL, SystemKeyspace.PEERS), LegacySchemaTables.ALL))
READABLE_SYSTEM_RESOURCES.add(DataResource.table(SystemKeyspace.NAME, cf));
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
- PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ if (!Config.isClientMode())
+ {
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthenticator().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getAuthorizer().protectedResources());
+ PROTECTED_AUTH_RESOURCES.addAll(DatabaseDescriptor.getRoleManager().protectedResources());
+ }
// allow users with sufficient privileges to alter KS level options on AUTH_KS and
// TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
[6/6] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Posted by sa...@apache.org.
Merge branch 'cassandra-3.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fba356d1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fba356d1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fba356d1
Branch: refs/heads/trunk
Commit: fba356d1d726d9a4484ddecd5e09e349b0bae894
Parents: 9d8091f 3818d30
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Tue Sep 8 10:27:52 2015 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Sep 8 10:27:52 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../org/apache/cassandra/config/DatabaseDescriptor.java | 6 +++++-
src/java/org/apache/cassandra/service/ClientState.java | 10 +++++++---
3 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fba356d1/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fba356d1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------