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

Benedict Elliott Smith commented on CASSANDRA-17162:
----------------------------------------------------

bq. overwriting value Bob, because Bob's acceptance did not set 
in-progress-ballot

Like I said, this does not happen. Cassandra writes the acceptance into a 
register that uses the proposal timestamp. What is actually written is 
{{Bob,ts=200}}. When Alice's proposal is "accepted" it is written with 
{{Alice,ts=100}}, so that this write is essentially a no-op. While it is 
written to the underlying storage, it cannot be witnessed by readers, as the 
newer value {{Bob,ts=200}} will supersede it.

> In the paxos implementation, a delayed proposal might overwrite newer values
> ----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17162
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17162
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Unmesh Joshi
>            Priority: Normal
>         Attachments: paxos-fix.patch
>
>
> I was going through this blog post , which talks about a possible bug in 
> paxos implementation if in-progress ballot is not set while accepting a 
> proposal.
> [https://brooker.co.za/blog/2021/11/16/paxos.html]
> I tried writing a failing test and possible fix. 
> The in_progress_ballot needs to be set when accepting a proposal. The current 
> implementation sets only the proposal_ballot when accepting a proposal.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to