diff --git a/src/java/org/apache/cassandra/auth/Auth.java b/src/java/org/apache/cassandra/auth/Auth.java index 67914554e968..45b4435bf9f2 100644 --- a/src/java/org/apache/cassandra/auth/Auth.java +++ b/src/java/org/apache/cassandra/auth/Auth.java @@ -26,7 +26,7 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.UntypedResultSet; import org.apache.cassandra.cql3.QueryProcessor; -import org.apache.cassandra.exceptions.UnavailableException; +import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.service.MigrationManager; import org.apache.cassandra.service.StorageService; @@ -52,7 +52,7 @@ public static boolean isExistingUser(String username) { return !QueryProcessor.process(query).isEmpty(); } - catch (UnavailableException e) + catch (RequestExecutionException e) { throw new RuntimeException(e); } @@ -72,7 +72,7 @@ public static boolean isSuperuser(String username) UntypedResultSet result = QueryProcessor.process(query); return !result.isEmpty() && result.one().getBoolean("super"); } - catch (UnavailableException e) + catch (RequestExecutionException e) { throw new RuntimeException(e); } @@ -84,7 +84,7 @@ public static boolean isSuperuser(String username) * @param username Username to insert. * @param isSuper User's new status. */ - public static void insertUser(String username, boolean isSuper) throws UnavailableException + public static void insertUser(String username, boolean isSuper) throws RequestExecutionException { QueryProcessor.process(String.format("INSERT INTO %s.%s (name, super) VALUES ('%s', %s)", AUTH_KS, @@ -98,7 +98,7 @@ public static void insertUser(String username, boolean isSuper) throws Unavailab * * @param username Username to delete. */ - public static void deleteUser(String username) throws UnavailableException + public static void deleteUser(String username) throws RequestExecutionException { QueryProcessor.process(String.format("DELETE FROM %s.%s WHERE name = '%s'", AUTH_KS, @@ -128,9 +128,9 @@ public void run() if (QueryProcessor.process(String.format("SELECT * FROM %s.%s", AUTH_KS, USERS_CF)).isEmpty()) insertUser(DEFAULT_SUPERUSER_NAME, true); } - catch (UnavailableException e) + catch (RequestExecutionException e) { - logger.warn("Skipping default superuser setup: some nodes are unavailable"); + logger.warn("Skipping default superuser setup: some nodes are not ready"); } } }; diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java b/src/java/org/apache/cassandra/cql3/QueryProcessor.java index e172e5963c06..fec45e6cee98 100644 --- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java +++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java @@ -140,7 +140,7 @@ public static ResultMessage process(String queryString, ConsistencyLevel cl, Que return processStatement(getStatement(queryString, queryState.getClientState()).statement, cl, queryState, Collections.emptyList()); } - public static UntypedResultSet process(String query) throws UnavailableException + public static UntypedResultSet process(String query) throws RequestExecutionException { try { @@ -151,17 +151,9 @@ public static UntypedResultSet process(String query) throws UnavailableException else return null; } - catch (UnavailableException e) - { - throw e; - } - catch (RequestExecutionException e) - { - throw new RuntimeException(e); - } catch (RequestValidationException e) { - throw new AssertionError(e); + throw new RuntimeException(e); } } diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterUserStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterUserStatement.java index 16872a2b1222..68c3d0da0cb1 100644 --- a/src/java/org/apache/cassandra/cql3/statements/AlterUserStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/AlterUserStatement.java @@ -23,8 +23,8 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.UserOptions; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.exceptions.UnauthorizedException; -import org.apache.cassandra.exceptions.UnavailableException; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.transport.messages.ResultMessage; @@ -76,7 +76,7 @@ public void checkAccess(ClientState state) throws UnauthorizedException } } - public ResultMessage execute(ClientState state) throws InvalidRequestException, UnavailableException + public ResultMessage execute(ClientState state) throws InvalidRequestException, RequestExecutionException { if (!opts.isEmpty()) DatabaseDescriptor.getAuthenticator().alter(username, opts.getOptions()); diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateUserStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateUserStatement.java index 9611d9e6d976..b1a91cdab9c9 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateUserStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateUserStatement.java @@ -21,8 +21,8 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.UserOptions; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.exceptions.UnauthorizedException; -import org.apache.cassandra.exceptions.UnavailableException; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.transport.messages.ResultMessage; @@ -56,7 +56,7 @@ public void checkAccess(ClientState state) throws UnauthorizedException throw new UnauthorizedException("Only superusers are allowed to perfrom CREATE USER queries"); } - public ResultMessage execute(ClientState state) throws InvalidRequestException, UnavailableException + public ResultMessage execute(ClientState state) throws InvalidRequestException, RequestExecutionException { DatabaseDescriptor.getAuthenticator().create(username, opts.getOptions()); Auth.insertUser(username, superuser); diff --git a/src/java/org/apache/cassandra/cql3/statements/DropUserStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropUserStatement.java index e5b9c2b021c3..493cd231aa7f 100644 --- a/src/java/org/apache/cassandra/cql3/statements/DropUserStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/DropUserStatement.java @@ -21,8 +21,8 @@ import org.apache.cassandra.auth.AuthenticatedUser; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.exceptions.UnauthorizedException; -import org.apache.cassandra.exceptions.UnavailableException; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.transport.messages.ResultMessage; @@ -52,7 +52,7 @@ public void checkAccess(ClientState state) throws UnauthorizedException throw new UnauthorizedException("Only superusers are allowed to perfrom DROP USER queries"); } - public ResultMessage execute(ClientState state) throws InvalidRequestException, UnavailableException + public ResultMessage execute(ClientState state) throws InvalidRequestException, RequestExecutionException { // clean up permissions after the dropped user. DatabaseDescriptor.getAuthorizer().revokeAll(username);