[
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]