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 2016/11/11 11:35:45 UTC

[01/10] cassandra git commit: Prepare legacy auth statements if tables initialised after node startup (follow-up)

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 2e21cac34 -> 5e4198ffd
  refs/heads/cassandra-3.0 14b52bca3 -> d81a49076
  refs/heads/cassandra-3.X 574ca2e2d -> e3f37c443
  refs/heads/trunk dba908017 -> 13ebb57eb


Prepare legacy auth statements if tables initialised after node startup (follow-up)

Patch by Alex Petrov; reviewed by Sam Tunnicliffe for CASSANDRA-12813

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e4198ff
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e4198ff
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e4198ff

Branch: refs/heads/cassandra-2.2
Commit: 5e4198ffdad57aebd7c4b3a8cc01a7ce88eac99c
Parents: 2e21cac
Author: Alex Petrov <ol...@gmail.com>
Authored: Thu Nov 10 14:07:38 2016 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:21:39 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e4198ff/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index dbae1ba..a90b297 100644
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@ -163,9 +163,8 @@ public class CassandraRoleManager implements IRoleManager
         // to be added.
         if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
         {
-             legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                   AuthKeyspace.NAME,
-                                                                   LEGACY_USERS_TABLE);
+            legacySelectUserStatement = prepareLegacySelectUserStatement();
+
             scheduleSetupTask(new Callable<Void>()
             {
                 public Void call() throws Exception
@@ -459,6 +458,13 @@ public class CassandraRoleManager implements IRoleManager
         }
     }
 
+    private SelectStatement prepareLegacySelectUserStatement()
+    {
+        return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
+                                         AuthKeyspace.NAME,
+                                         LEGACY_USERS_TABLE);
+    }
+
     private CQLStatement prepare(String template, String keyspace, String table)
     {
         try
@@ -500,9 +506,14 @@ public class CassandraRoleManager implements IRoleManager
             // If it exists, try the legacy users table in case the cluster
             // is in the process of being upgraded and so is running with mixed
             // versions of the authn schema.
-            return (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
-                    ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                    : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
+                return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            else
+            {
+                if (legacySelectUserStatement == null)
+                    prepareLegacySelectUserStatement();
+                return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+            }
         }
         catch (RequestExecutionException | RequestValidationException e)
         {


[02/10] cassandra git commit: Prepare legacy auth statements if tables initialised after node startup (follow-up)

Posted by sa...@apache.org.
Prepare legacy auth statements if tables initialised after node startup (follow-up)

Patch by Alex Petrov; reviewed by Sam Tunnicliffe for CASSANDRA-12813

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e4198ff
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e4198ff
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e4198ff

Branch: refs/heads/cassandra-3.0
Commit: 5e4198ffdad57aebd7c4b3a8cc01a7ce88eac99c
Parents: 2e21cac
Author: Alex Petrov <ol...@gmail.com>
Authored: Thu Nov 10 14:07:38 2016 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:21:39 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e4198ff/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index dbae1ba..a90b297 100644
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@ -163,9 +163,8 @@ public class CassandraRoleManager implements IRoleManager
         // to be added.
         if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
         {
-             legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                   AuthKeyspace.NAME,
-                                                                   LEGACY_USERS_TABLE);
+            legacySelectUserStatement = prepareLegacySelectUserStatement();
+
             scheduleSetupTask(new Callable<Void>()
             {
                 public Void call() throws Exception
@@ -459,6 +458,13 @@ public class CassandraRoleManager implements IRoleManager
         }
     }
 
+    private SelectStatement prepareLegacySelectUserStatement()
+    {
+        return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
+                                         AuthKeyspace.NAME,
+                                         LEGACY_USERS_TABLE);
+    }
+
     private CQLStatement prepare(String template, String keyspace, String table)
     {
         try
@@ -500,9 +506,14 @@ public class CassandraRoleManager implements IRoleManager
             // If it exists, try the legacy users table in case the cluster
             // is in the process of being upgraded and so is running with mixed
             // versions of the authn schema.
-            return (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
-                    ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                    : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
+                return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            else
+            {
+                if (legacySelectUserStatement == null)
+                    prepareLegacySelectUserStatement();
+                return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+            }
         }
         catch (RequestExecutionException | RequestValidationException e)
         {


[04/10] cassandra git commit: Prepare legacy auth statements if tables initialised after node startup (follow-up)

Posted by sa...@apache.org.
Prepare legacy auth statements if tables initialised after node startup (follow-up)

Patch by Alex Petrov; reviewed by Sam Tunnicliffe for CASSANDRA-12813

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e4198ff
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e4198ff
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e4198ff

Branch: refs/heads/trunk
Commit: 5e4198ffdad57aebd7c4b3a8cc01a7ce88eac99c
Parents: 2e21cac
Author: Alex Petrov <ol...@gmail.com>
Authored: Thu Nov 10 14:07:38 2016 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:21:39 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e4198ff/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index dbae1ba..a90b297 100644
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@ -163,9 +163,8 @@ public class CassandraRoleManager implements IRoleManager
         // to be added.
         if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
         {
-             legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                   AuthKeyspace.NAME,
-                                                                   LEGACY_USERS_TABLE);
+            legacySelectUserStatement = prepareLegacySelectUserStatement();
+
             scheduleSetupTask(new Callable<Void>()
             {
                 public Void call() throws Exception
@@ -459,6 +458,13 @@ public class CassandraRoleManager implements IRoleManager
         }
     }
 
+    private SelectStatement prepareLegacySelectUserStatement()
+    {
+        return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
+                                         AuthKeyspace.NAME,
+                                         LEGACY_USERS_TABLE);
+    }
+
     private CQLStatement prepare(String template, String keyspace, String table)
     {
         try
@@ -500,9 +506,14 @@ public class CassandraRoleManager implements IRoleManager
             // If it exists, try the legacy users table in case the cluster
             // is in the process of being upgraded and so is running with mixed
             // versions of the authn schema.
-            return (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
-                    ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                    : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
+                return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            else
+            {
+                if (legacySelectUserStatement == null)
+                    prepareLegacySelectUserStatement();
+                return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+            }
         }
         catch (RequestExecutionException | RequestValidationException e)
         {


[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

Posted by sa...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.X


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e3f37c44
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e3f37c44
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e3f37c44

Branch: refs/heads/cassandra-3.X
Commit: e3f37c44358a101809751aeac09a374713a01844
Parents: 574ca2e d81a490
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:32:14 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:32:14 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3f37c44/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index 6c2a9ca,c3e2626..89f0e24
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@@ -162,11 -161,10 +162,10 @@@ public class CassandraRoleManager imple
          // it, so we can continue to use the old tables while the cluster is upgraded.
          // Otherwise, we may need to create a default superuser role to enable others
          // to be added.
 -        if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
 +        if (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") != null)
          {
-              legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                    SchemaConstants.AUTH_KEYSPACE_NAME,
-                                                                    LEGACY_USERS_TABLE);
+             legacySelectUserStatement = prepareLegacySelectUserStatement();
+ 
              scheduleSetupTask(() -> {
                  convertLegacyData();
                  return null;
@@@ -452,6 -450,13 +451,13 @@@
          }
      }
  
+     private SelectStatement prepareLegacySelectUserStatement()
+     {
+         return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
 -                                         AuthKeyspace.NAME,
++                                         SchemaConstants.AUTH_KEYSPACE_NAME,
+                                          LEGACY_USERS_TABLE);
+     }
+ 
      private CQLStatement prepare(String template, String keyspace, String table)
      {
          try
@@@ -493,9 -498,14 +499,14 @@@
              // If it exists, try the legacy users table in case the cluster
              // is in the process of being upgraded and so is running with mixed
              // versions of the authn schema.
-             return (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") != null)
-                     ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                     : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
 -            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
++            if (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") == null)
+                 return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+             else
+             {
+                 if (legacySelectUserStatement == null)
+                     prepareLegacySelectUserStatement();
+                 return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+             }
          }
          catch (RequestExecutionException | RequestValidationException e)
          {


[06/10] 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/d81a4907
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d81a4907
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d81a4907

Branch: refs/heads/cassandra-3.0
Commit: d81a49076b694301fdc385af69b57f39a86a22d2
Parents: 14b52bc 5e4198f
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:28:33 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:28:33 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d81a4907/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index 5e3b92d,a90b297..c3e2626
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@@ -163,12 -163,15 +163,11 @@@ public class CassandraRoleManager imple
          // to be added.
          if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
          {
-              legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                    AuthKeyspace.NAME,
-                                                                    LEGACY_USERS_TABLE);
+             legacySelectUserStatement = prepareLegacySelectUserStatement();
+ 
 -            scheduleSetupTask(new Callable<Void>()
 -            {
 -                public Void call() throws Exception
 -                {
 -                    convertLegacyData();
 -                    return null;
 -                }
 +            scheduleSetupTask(() -> {
 +                convertLegacyData();
 +                return null;
              });
          }
          else


[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

Posted by sa...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.X


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e3f37c44
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e3f37c44
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e3f37c44

Branch: refs/heads/trunk
Commit: e3f37c44358a101809751aeac09a374713a01844
Parents: 574ca2e d81a490
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:32:14 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:32:14 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3f37c44/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index 6c2a9ca,c3e2626..89f0e24
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@@ -162,11 -161,10 +162,10 @@@ public class CassandraRoleManager imple
          // it, so we can continue to use the old tables while the cluster is upgraded.
          // Otherwise, we may need to create a default superuser role to enable others
          // to be added.
 -        if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
 +        if (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") != null)
          {
-              legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                    SchemaConstants.AUTH_KEYSPACE_NAME,
-                                                                    LEGACY_USERS_TABLE);
+             legacySelectUserStatement = prepareLegacySelectUserStatement();
+ 
              scheduleSetupTask(() -> {
                  convertLegacyData();
                  return null;
@@@ -452,6 -450,13 +451,13 @@@
          }
      }
  
+     private SelectStatement prepareLegacySelectUserStatement()
+     {
+         return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
 -                                         AuthKeyspace.NAME,
++                                         SchemaConstants.AUTH_KEYSPACE_NAME,
+                                          LEGACY_USERS_TABLE);
+     }
+ 
      private CQLStatement prepare(String template, String keyspace, String table)
      {
          try
@@@ -493,9 -498,14 +499,14 @@@
              // If it exists, try the legacy users table in case the cluster
              // is in the process of being upgraded and so is running with mixed
              // versions of the authn schema.
-             return (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") != null)
-                     ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                     : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
 -            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
++            if (Schema.instance.getCFMetaData(SchemaConstants.AUTH_KEYSPACE_NAME, "users") == null)
+                 return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+             else
+             {
+                 if (legacySelectUserStatement == null)
+                     prepareLegacySelectUserStatement();
+                 return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+             }
          }
          catch (RequestExecutionException | RequestValidationException e)
          {


[10/10] cassandra git commit: Merge branch 'cassandra-3.X' into trunk

Posted by sa...@apache.org.
Merge branch 'cassandra-3.X' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13ebb57e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13ebb57e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13ebb57e

Branch: refs/heads/trunk
Commit: 13ebb57eb07c0a0f6cab4af3278e0e2ee730f3d2
Parents: dba9080 e3f37c4
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:32:57 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:32:57 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[05/10] 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/d81a4907
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d81a4907
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d81a4907

Branch: refs/heads/cassandra-3.X
Commit: d81a49076b694301fdc385af69b57f39a86a22d2
Parents: 14b52bc 5e4198f
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:28:33 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:28:33 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d81a4907/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index 5e3b92d,a90b297..c3e2626
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@@ -163,12 -163,15 +163,11 @@@ public class CassandraRoleManager imple
          // to be added.
          if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
          {
-              legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                    AuthKeyspace.NAME,
-                                                                    LEGACY_USERS_TABLE);
+             legacySelectUserStatement = prepareLegacySelectUserStatement();
+ 
 -            scheduleSetupTask(new Callable<Void>()
 -            {
 -                public Void call() throws Exception
 -                {
 -                    convertLegacyData();
 -                    return null;
 -                }
 +            scheduleSetupTask(() -> {
 +                convertLegacyData();
 +                return null;
              });
          }
          else


[03/10] cassandra git commit: Prepare legacy auth statements if tables initialised after node startup (follow-up)

Posted by sa...@apache.org.
Prepare legacy auth statements if tables initialised after node startup (follow-up)

Patch by Alex Petrov; reviewed by Sam Tunnicliffe for CASSANDRA-12813

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e4198ff
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e4198ff
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e4198ff

Branch: refs/heads/cassandra-3.X
Commit: 5e4198ffdad57aebd7c4b3a8cc01a7ce88eac99c
Parents: 2e21cac
Author: Alex Petrov <ol...@gmail.com>
Authored: Thu Nov 10 14:07:38 2016 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:21:39 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e4198ff/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index dbae1ba..a90b297 100644
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@ -163,9 +163,8 @@ public class CassandraRoleManager implements IRoleManager
         // to be added.
         if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
         {
-             legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                   AuthKeyspace.NAME,
-                                                                   LEGACY_USERS_TABLE);
+            legacySelectUserStatement = prepareLegacySelectUserStatement();
+
             scheduleSetupTask(new Callable<Void>()
             {
                 public Void call() throws Exception
@@ -459,6 +458,13 @@ public class CassandraRoleManager implements IRoleManager
         }
     }
 
+    private SelectStatement prepareLegacySelectUserStatement()
+    {
+        return (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
+                                         AuthKeyspace.NAME,
+                                         LEGACY_USERS_TABLE);
+    }
+
     private CQLStatement prepare(String template, String keyspace, String table)
     {
         try
@@ -500,9 +506,14 @@ public class CassandraRoleManager implements IRoleManager
             // If it exists, try the legacy users table in case the cluster
             // is in the process of being upgraded and so is running with mixed
             // versions of the authn schema.
-            return (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
-                    ? getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE)
-                    : getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") == null)
+                return getRoleFromTable(name, loadRoleStatement, ROW_TO_ROLE);
+            else
+            {
+                if (legacySelectUserStatement == null)
+                    prepareLegacySelectUserStatement();
+                return getRoleFromTable(name, legacySelectUserStatement, LEGACY_ROW_TO_ROLE);
+            }
         }
         catch (RequestExecutionException | RequestValidationException e)
         {


[07/10] 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/d81a4907
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d81a4907
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d81a4907

Branch: refs/heads/trunk
Commit: d81a49076b694301fdc385af69b57f39a86a22d2
Parents: 14b52bc 5e4198f
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Fri Nov 11 11:28:33 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Nov 11 11:28:33 2016 +0000

----------------------------------------------------------------------
 .../cassandra/auth/CassandraRoleManager.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d81a4907/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/auth/CassandraRoleManager.java
index 5e3b92d,a90b297..c3e2626
--- a/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
+++ b/src/java/org/apache/cassandra/auth/CassandraRoleManager.java
@@@ -163,12 -163,15 +163,11 @@@ public class CassandraRoleManager imple
          // to be added.
          if (Schema.instance.getCFMetaData(AuthKeyspace.NAME, "users") != null)
          {
-              legacySelectUserStatement = (SelectStatement) prepare("SELECT * FROM %s.%s WHERE name = ?",
-                                                                    AuthKeyspace.NAME,
-                                                                    LEGACY_USERS_TABLE);
+             legacySelectUserStatement = prepareLegacySelectUserStatement();
+ 
 -            scheduleSetupTask(new Callable<Void>()
 -            {
 -                public Void call() throws Exception
 -                {
 -                    convertLegacyData();
 -                    return null;
 -                }
 +            scheduleSetupTask(() -> {
 +                convertLegacyData();
 +                return null;
              });
          }
          else