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

Sam Tunnicliffe commented on CASSANDRA-9761:
--------------------------------------------

[~slebresne], I'm not sure how I didn't notice in the first place, but I 
realised that your original branch was based on 3.0, not 2.2. Was it 
intentional to skip 2.2 with this fix, or just an oversight?
Seeing as dtests on 3.0/trunk are holding this up anyway,  I've backported to 
2.2 and updated my branches for CI.

Patches:
* [2.2 branch|https://github.com/beobal/cassandra/tree/9761-2.2]
* [3.0 branch|https://github.com/beobal/cassandra/tree/9761-3.0]
* [trunk branch|https://github.com/beobal/cassandra/tree/9761-trunk]

CI Tests:
* [2.2 
testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-2.2-testall/]
* [2.2 
dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-2.2-dtest/]
* [3.0 
testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-3.0-testall/]
* [3.0 
dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-3.0-dtest/]
* [trunk 
testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-trunk-testall/]
* [trunk 
dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-9761-trunk-dtest/]


> Delay auth setup until peers are upgraded
> -----------------------------------------
>
>                 Key: CASSANDRA-9761
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9761
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sam Tunnicliffe
>            Assignee: Sylvain Lebresne
>             Fix For: 3.0.0 rc1, 2.2.2
>
>
> The built in auth classes {{CassandraRoleManager}} and 
> {{CassandraAuthorizer}} both attempt to do some setup and data conversion 
> when a node is upgraded to version 2.2 or higher. At the moment, each node 
> attempts the operations with the expectation that this will fail until enough 
> of the cluster has been upgraded for it to succeed (i.e. enough nodes have 
> the latest schema with the requisite new tables). These expected failures are 
> largely harmless, but they are annoying because they cause the receiving node 
> (the non-upgraded node) to close the connection with the upgraded node, which 
> then has to be restablished. Although this is the normal behaviour on schema 
> disagreement (see CASSANDRA-9136 for further discussion), it may be possible 
> to avoid in this specific circumstance. Given that we expect the operations 
> to fail until enough nodes are upgraded, we could defer them until we're sure 
> they can succeed by checking the messaging service version of peers. 
> Right now these are a one shot thing, each node only makes one attempt at the 
> conversion (until it is restarted). Without investigating further, I don't 
> know if we'd need to add in retries in case it takes a little time for each 
> peer's MS version to be updated as they're upgraded. The setup & conversion 
> operations are idempotent, so there shouldn't be a great issue if several 
> nodes  attempt them at the same time anyway.



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

Reply via email to