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

Sylvain Lebresne commented on CASSANDRA-10761:
----------------------------------------------

bq. The migration thread has sucessfully updated the keyspace metadata to 
include the new table metadata but it hasn't yet initialized the 
{{ColumnFamilyStore}}

That's the part that feels wrong to me as it's obviously racy. We should not 
add then initialize, we should initialize then add.

And as far as I can tell, it looks almost as simple as switching the 2 lines in 
{{Schema::addTable}} (and {{addView}}), except for the fact that 
{{Keyspace::initCf}} ultimately pulls the {{CFMetaData}} from {{Schema}}. But 
that could could easily be fixed by passing said {{CFMetaData}} as argument 
instead (bonus point: it even saves a map lookup).


> Possible regression of CASSANDRA-9201
> -------------------------------------
>
>                 Key: CASSANDRA-10761
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10761
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Philip Thompson
>            Assignee: Sam Tunnicliffe
>             Fix For: 3.0.1, 3.1, 2.2.x
>
>         Attachments: 10761-logs.tar.gz
>
>
> Some dtests like 
> {{consistency_test.TestAccuracy.test_network_topology_strategy_each_quorum_counters}}
>  are failing with the follow auth related assertion exception
> {code}
> [node6 ERROR] java.lang.AssertionError: 
> org.apache.cassandra.exceptions.InvalidRequestException: unconfigured table 
> roles
>       at 
> org.apache.cassandra.auth.CassandraRoleManager.prepare(CassandraRoleManager.java:450)
>       at 
> org.apache.cassandra.auth.CassandraRoleManager.setup(CassandraRoleManager.java:144)
>       at 
> org.apache.cassandra.service.StorageService.doAuthSetup(StorageService.java:1036)
>       at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:984)
>       at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:708)
>       at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:579)
>       at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:345)
>       at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:561)
>       at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689)
> Caused by: org.apache.cassandra.exceptions.InvalidRequestException: 
> unconfigured table roles
>       at 
> org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily(ThriftValidation.java:114)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:757)
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:752)
>       at 
> org.apache.cassandra.auth.CassandraRoleManager.prepare(CassandraRoleManager.java:446)
>       ... 8 more
> {code}
> This looks very similar to CASSANDRA-9201.



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

Reply via email to