[
https://issues.apache.org/jira/browse/CASSANDRA-17164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17479183#comment-17479183
]
Benedict Elliott Smith edited comment on CASSANDRA-17164 at 1/20/22, 9:58 AM:
------------------------------------------------------------------------------
{quote}Specifically, what stops the following from happening?{quote}
In this example, I believe (3) would not yield {{FOUND_INCOMPLETE_COMMIT}} but
{{FOUND_INCOMPLETE_ACCEPTED}} and so would correctly re-propose (2), expending
its ballot?
{quote}The fact that we tie accepting a promise to a majority with matching
"most recent commit" means that we effectively treat it as the identifier of
the current session{quote}
It is used as an identifier for a commit that was accepted by a majority using
that ballot, only to ensure it is durable (made it to at least a quorum) before
we propose a new value. We don't tie accepting a promise to matching the "most
recent commit" but we cannot safely propose anything without ensuring the prior
commit is durable, which is why we may simply "refresh" and continue using the
promises we sought... I feel like there may be some minor disconnects here in
our language, though, which might be complicating the discussion a little.
{quote}It seems the next prepare will return FOUND_INCOMPLETE_ACCEPTED and
trigger reproposal and commit{quote}
{{hasInProgressProposal}} first checks if {{latestAccepted.update.isEmpty()}}
and if so, returns false, i.e. this would not be considered an incomplete
proposal.
was (Author: benedict):
{quote}Specifically, what stops the following from happening?{quote}
In this example, I believe (3) would not yield {{FOUND_INCOMPLETE_COMMIT}} but
{{FOUND_INCOMPLETE_ACCEPTED}} and so would correctly re-propose (2), expending
its ballot?
{quote}It seems the next prepare will return FOUND_INCOMPLETE_ACCEPTED and
trigger reproposal and commit{quote}
{{hasInProgressProposal}} first checks if {{latestAccepted.update.isEmpty()}}
and if so, returns false, i.e. this would not be considered an incomplete
proposal.
> CEP-14: Paxos Improvements
> --------------------------
>
> Key: CASSANDRA-17164
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17164
> Project: Cassandra
> Issue Type: Improvement
> Components: Consistency/Coordination, Consistency/Repair
> Reporter: Benedict Elliott Smith
> Assignee: Benedict Elliott Smith
> Priority: Normal
> Fix For: 4.1
>
>
> This ticket encompasses work for [CEP-14|
> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-14%3A+Paxos+Improvements].
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]