Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8CED417E6F for ; Mon, 31 Aug 2015 17:05:00 +0000 (UTC) Received: (qmail 53871 invoked by uid 500); 31 Aug 2015 17:04:59 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 53766 invoked by uid 500); 31 Aug 2015 17:04:59 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 53527 invoked by uid 99); 31 Aug 2015 17:04:59 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Aug 2015 17:04:59 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 651C5E0244; Mon, 31 Aug 2015 17:04:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jbellis@apache.org To: commits@cassandra.apache.org Date: Mon, 31 Aug 2015 17:04:59 -0000 Message-Id: <56a7262aedfa478d82b391551e5b34ff@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/6] cassandra git commit: Defer initialization of default RoleManager until IAuthenticator is set reviewed by jbellis for CASSANDRA-10209 Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 c870adc2f -> 0d2f4038f refs/heads/cassandra-3.0 0828e2499 -> 3bc585d5d refs/heads/trunk ae7afb7a8 -> 5d0c6ef77 Defer initialization of default RoleManager until IAuthenticator is set reviewed by jbellis 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/0d2f4038 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d2f4038 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d2f4038 Branch: refs/heads/cassandra-2.2 Commit: 0d2f4038fc2564c695d0d8c4b1ad523ec1afaceb Parents: c870adc Author: Sam Tunnicliffe Authored: Thu Aug 27 20:21:17 2015 +0100 Committer: Jonathan Ellis Committed: Mon Aug 31 12:04:01 2015 -0500 ---------------------------------------------------------------------- .../org/apache/cassandra/config/DatabaseDescriptor.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d2f4038/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..9cf3959 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; @@ -323,8 +325,9 @@ public class DatabaseDescriptor if (authenticator instanceof AllowAllAuthenticator && !(authorizer instanceof AllowAllAuthorizer)) throw new ConfigurationException("AllowAllAuthenticator can't be used with " + conf.authorizer, false); - if (conf.role_manager != null) - roleManager = FBUtilities.newRoleManager(conf.role_manager); + roleManager = conf.role_manager == null + ? new CassandraRoleManager() + : FBUtilities.newRoleManager(conf.role_manager); if (authenticator instanceof PasswordAuthenticator && !(roleManager instanceof CassandraRoleManager)) throw new ConfigurationException("CassandraRoleManager must be used with PasswordAuthenticator", false);