cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "mck (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11381) Node running with join_ring=false and authentication can not serve requests
Date Wed, 03 Aug 2016 10:36:20 GMT


mck commented on CASSANDRA-11381:

Coming back to this issue now.

{quote}I've tested some scenarios and can confirm that the scenario Sam described above is
[~jkni], which scenario Sam describes?

{quote} I think the original approach of handling auth setup down both branches may be
worth pursuing here in the interest of safety.{quote}

So I've uploaded new patches for 2.1 and dtest that  
 - set up auth also when tokens are empty
 - add a dtest to test ^^

Working on the other patches.

> Node running with join_ring=false and authentication can not serve requests
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-11381
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: mck
>            Assignee: mck
>             Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>         Attachments: 11381-2.1.txt, 11381-2.2.txt, 11381-3.0.txt, 11381-trunk.txt, dtest-11381-trunk.txt
> Starting up a node with {{-Dcassandra.join_ring=false}} in a cluster that has authentication
configured, eg PasswordAuthenticator, won't be able to serve requests. This is because {{Auth.setup()}}
never gets called during the startup.
> Without {{Auth.setup()}} having been called in {{StorageService}} clients connecting
to the node fail with the node throwing
> {noformat}
> java.lang.NullPointerException
>         at org.apache.cassandra.auth.PasswordAuthenticator.authenticate(
>         at org.apache.cassandra.thrift.CassandraServer.login(
>         at org.apache.cassandra.thrift.Cassandra$Processor$login.getResult(
>         at org.apache.cassandra.thrift.Cassandra$Processor$login.getResult(
>         at org.apache.thrift.ProcessFunction.process(
>         at org.apache.thrift.TBaseProcessor.process(
>         at com.thinkaurelius.thrift.Message.invoke(
>         at com.thinkaurelius.thrift.Message$Invocation.execute(
>         at com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(
>         at com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(
>         at
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(
>         at java.util.concurrent.ThreadPoolExecutor$
>         at
> {noformat}
> The exception thrown from the [code|]
> {code}
> ResultMessage.Rows rows = authenticateStatement.execute(QueryState.forInternalCalls(),
new QueryOptions(consistencyForUser(username),
> {code}

This message was sent by Atlassian JIRA

View raw message