[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds
[ https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-6012: Labels: LWT (was: ) > CAS does not always correctly replay inProgress rounds > -- > > Key: CASSANDRA-6012 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6012 > Project: Cassandra > Issue Type: Bug >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne >Priority: Major > Labels: LWT > Fix For: 2.0.1 > > Attachments: > 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt > > > Paxos says that on receiving the result of a prepare from a quorum of > acceptors, the proposer should propose the value of the higher-number > proposal accepted amongst the ones returned by the acceptors, and only > propose his own value if no acceptor has send us back a previously accepted > value. > But in PrepareCallback we only keep the more recent inProgress commit > regardless of whether is has an update. Which means we could ignore a value > already accepted by some acceptors if any of the acceptor send us a more > recent ballot than the other acceptor but with no values. The net effect is > that we can mistakenly accept two different values for the same round. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds
[ https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6012: Since Version: 2.0 Fix Version/s: 2.0.1 CAS does not always correctly replay inProgress rounds -- Key: CASSANDRA-6012 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Fix For: 2.0.1 Attachments: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt Paxos says that on receiving the result of a prepare from a quorum of acceptors, the proposer should propose the value of the higher-number proposal accepted amongst the ones returned by the acceptors, and only propose his own value if no acceptor has send us back a previously accepted value. But in PrepareCallback we only keep the more recent inProgress commit regardless of whether is has an update. Which means we could ignore a value already accepted by some acceptors if any of the acceptor send us a more recent ballot than the other acceptor but with no values. The net effect is that we can mistakenly accept two different values for the same round. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds
[ https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6012: Attachment: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt Attaching fix: as far as checking if we should finish an inProgress round, we only need to keep the most recent inProgress commit that has a value. But so as to not break the optimization of CASSANDRA-5667, the patch also keep the most recent inProgress, regardless of whether it has a value or not. CAS does not always correctly replay inProgress rounds -- Key: CASSANDRA-6012 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Attachments: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt Paxos says that on receiving the result of a prepare from a quorum of acceptors, the proposer should propose the value of the higher-number proposal accepted amongst the ones returned by the acceptors, and only propose his own value if no acceptor has send us back a previously accepted value. But in PrepareCallback we only keep the more recent inProgress commit regardless of whether is has an update. Which means we could ignore a value already accepted by some acceptors if any of the acceptor send us a more recent ballot than the other acceptor but with no values. The net effect is that we can mistakenly accept two different values for the same round. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds
[ https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6012: Attachment: (was: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt) CAS does not always correctly replay inProgress rounds -- Key: CASSANDRA-6012 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Fix For: 2.0.1 Paxos says that on receiving the result of a prepare from a quorum of acceptors, the proposer should propose the value of the higher-number proposal accepted amongst the ones returned by the acceptors, and only propose his own value if no acceptor has send us back a previously accepted value. But in PrepareCallback we only keep the more recent inProgress commit regardless of whether is has an update. Which means we could ignore a value already accepted by some acceptors if any of the acceptor send us a more recent ballot than the other acceptor but with no values. The net effect is that we can mistakenly accept two different values for the same round. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds
[ https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6012: Attachment: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt CAS does not always correctly replay inProgress rounds -- Key: CASSANDRA-6012 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Fix For: 2.0.1 Attachments: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt Paxos says that on receiving the result of a prepare from a quorum of acceptors, the proposer should propose the value of the higher-number proposal accepted amongst the ones returned by the acceptors, and only propose his own value if no acceptor has send us back a previously accepted value. But in PrepareCallback we only keep the more recent inProgress commit regardless of whether is has an update. Which means we could ignore a value already accepted by some acceptors if any of the acceptor send us a more recent ballot than the other acceptor but with no values. The net effect is that we can mistakenly accept two different values for the same round. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira