cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sam Tunnicliffe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-9694) system_auth not upgraded
Date Thu, 02 Jul 2015 12:32:05 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-9694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14611882#comment-14611882
] 

Sam Tunnicliffe commented on CASSANDRA-9694:
--------------------------------------------

Those stacktraces should not happen if the process I described is followed. As I mentioned,
the authenticator & authorizer won't attempt to actually use the new tables until the
old ones are removed, but you can see from the log that this is happening. Because you wiped
the {{system_auth}} keyspace on the single upgraded node, when it restarted it immediately
began attempting to access them, but as the rest of the cluster (still on 2.1.7) doesn't have
them you see those errors. 

I should note that when following the correct procedure, you *will* still see some stacktraces
in the non-upgraded nodes' log files as the upgraded nodes attempt to perform the data conversion,
but these are harmless. They don't propagate back to clients and they are what  inform the
upgrading node that the conversion cannot be completed yet. For reference, these are the sort
of errors to expect:

{noformat}
WARN  [MessagingService-Incoming-/127.0.0.1] 2015-07-02 12:15:23,544 IncomingTcpConnection.java:97
- UnknownColumnFamilyException reading from socket; closing
org.apache.cassandra.db.UnknownColumnFamilyException: Couldn't find cfId=3afbe79f-2194-31a7-add7-f5ab90d8ec9c
    at org.apache.cassandra.db.ColumnFamilySerializer.deserializeCfId(ColumnFamilySerializer.java:164)
~[main/:na]
    at org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:97)
~[main/:na]
    at org.apache.cassandra.db.Mutation$MutationSerializer.deserializeOneCf(Mutation.java:322)
~[main/:na]
    at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:302)
~[main/:na]
    at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:330)
~[main/:na]
    at org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:272)
~[main/:na]
    at org.apache.cassandra.net.MessageIn.read(MessageIn.java:99) ~[main/:na]
    at org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:188)
~[main/:na]
    at org.apache.cassandra.net.IncomingTcpConnection.receiveMessages(IncomingTcpConnection.java:170)
~[main/:na]
    at org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:88) ~[main/:na]
{noformat}


> system_auth not upgraded
> ------------------------
>
>                 Key: CASSANDRA-9694
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9694
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Windows-7-32 bit, 3.2GB RAM, Java 1.7.0_55
>            Reporter: Andreas Schnitzerling
>            Assignee: Sam Tunnicliffe
>             Fix For: 2.2.0 rc2
>
>         Attachments: 9694.txt, system_exception.log
>
>
> After upgrading Authorization-Exceptions occur. I checked the system_auth keyspace and
have seen, that tables users, credentials and permissions were not upgraded automatically.
I upgraded them (I needed 2 times per table because of CASSANDRA-9566). After upgrading the
system_auth tables I could login via cql using different users.
> {code:title=system.log}
> WARN  [Thrift:14] 2015-07-01 11:38:57,748 CassandraAuthorizer.java:91 - CassandraAuthorizer
failed to authorize #<User updateprog> for <keyspace logdata>
> ERROR [Thrift:14] 2015-07-01 11:41:26,210 CustomTThreadPoolServer.java:223 - Error occurred
during processing of message.
> com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException:
org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - received only
0 responses.
> 	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) ~[guava-16.0.jar:na]
> 	at com.google.common.cache.LocalCache.get(LocalCache.java:3934) ~[guava-16.0.jar:na]
> 	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) ~[guava-16.0.jar:na]
> 	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) ~[guava-16.0.jar:na]
> 	at org.apache.cassandra.auth.PermissionsCache.getPermissions(PermissionsCache.java:72)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.auth.AuthenticatedUser.getPermissions(AuthenticatedUser.java:104)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.service.ClientState.authorize(ClientState.java:362) ~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.service.ClientState.checkPermissionOnResourceChain(ClientState.java:295)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.service.ClientState.ensureHasPermission(ClientState.java:272)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.service.ClientState.hasAccess(ClientState.java:259) ~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.service.ClientState.hasColumnFamilyAccess(ClientState.java:243)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.checkAccess(SelectStatement.java:143)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:222)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:256) ~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:241) ~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1891)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4588)
~[apache-cassandra-thrift-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4572)
~[apache-cassandra-thrift-2.2.0-rc1.jar:2.2.0-rc1]
> 	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) ~[libthrift-0.9.2.jar:0.9.2]
> 	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) ~[libthrift-0.9.2.jar:0.9.2]
> 	at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:204)
~[apache-cassandra-2.2.0-rc1.jar:2.2.0-rc1]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_55]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_55]
> 	at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message