[ 
https://issues.apache.org/jira/browse/CASSANDRA-7788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-7788:
-----------------------------------------

    Description: 
Auth#hasExistingUsers() itself can be improved - should do the first SELECT 
query with CL.ONE first, before trying QUORUM.

There is no good reason to limit setup to

{code}
        if 
(DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress()) || 
!DatabaseDescriptor.isAutoBootstrap())
{code}

If there was one, it's a leftover from 1.1 private implementation era.

Finally, the setup write itself should happen at CL.ONE. The logged warning 
would be a lie in the QUORUM case if at least one node got the write ("skipped 
default user setup: some nodes were not ready")

  was:
PasswordAuthenticator#hasExistingUsers() check should replicate what 
Auth#hasExistingUsers() does - check for existence of the default super user 
first.

Auth#hasExistingUsers() itself can also be improved - should do that very same 
SELECT query with CL.ONE first, before trying QUORUM.

There is no good reason to limit setup to

{code}
        if 
(DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress()) || 
!DatabaseDescriptor.isAutoBootstrap())
{code}

If there was one, it's a leftover from 1.1 private implementation era.

Finally, the setup write itself should happen at CL.ONE. The logged warning 
would be a lie in the QUORUM case if at least one node got the write ("skipped 
default user setup: some nodes were not ready")


> Improve PasswordAuthenticator default super user setup
> ------------------------------------------------------
>
>                 Key: CASSANDRA-7788
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7788
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 1.2.19, 2.0.10, 2.1.1
>
>
> Auth#hasExistingUsers() itself can be improved - should do the first SELECT 
> query with CL.ONE first, before trying QUORUM.
> There is no good reason to limit setup to
> {code}
>         if 
> (DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress()) || 
> !DatabaseDescriptor.isAutoBootstrap())
> {code}
> If there was one, it's a leftover from 1.1 private implementation era.
> Finally, the setup write itself should happen at CL.ONE. The logged warning 
> would be a lie in the QUORUM case if at least one node got the write 
> ("skipped default user setup: some nodes were not ready")



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to