[
https://issues.apache.org/jira/browse/IGNITE-20826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-20826:
-------------------------------------
Description:
h3. Motivation
In order to guarantee that there's no safe time reordering within the very
first command after node restart, it's required either to restore the last
observable ordered safe time on restart or guarantee that it'll be ordered
because of some external invariants.
h3. Definition of Done
It is possible to check whether safeTime proposed after restart is ordered with
previously observed value.
h3. Implementation notes
One of the options is to guarantee that any proposed safe time is less than
primaryReplica.expirationTime. Along with selection of a new primary on restart
(with newPrimary.startTime > oldPrimaryStartTime) it'll be enough to force the
invariant specified in DoD. However, it's not trivial to handle
proposedSafeTime out of bounds condition.
Another option is to retrieve safe time from either raft log or snapshot.
And last but not least - it's also required to restore
was:
h3. Motivation
In order to guarantee that there's no safe time reordering within the very
first command after node restart, it's required either to restore the last
observable ordered safe time on restart or guarantee that it'll be ordered
because of some external invariants.
h3. Definition of Done
It is possible to check whether safeTime proposed after restart is ordered with
previously observed value.
h3. Implementation notes
One of the options is to guarantee that any proposed safe time is less than
primaryReplica.expirationTime. Along with selection of a new primary on restart
(with newPrimary.startTime > oldPrimaryStartTime) it'll be enough to force the
invariant specified in DoD. However, it's not trivial to handle
proposedSafeTime out of bounds condition.
Another option is to retrieve safe time from either raft log or snapshot.
> Restore last observable ordered timestamp on node restart
> ---------------------------------------------------------
>
> Key: IGNITE-20826
> URL: https://issues.apache.org/jira/browse/IGNITE-20826
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexander Lapin
> Priority: Major
>
> h3. Motivation
> In order to guarantee that there's no safe time reordering within the very
> first command after node restart, it's required either to restore the last
> observable ordered safe time on restart or guarantee that it'll be ordered
> because of some external invariants.
> h3. Definition of Done
> It is possible to check whether safeTime proposed after restart is ordered
> with previously observed value.
> h3. Implementation notes
> One of the options is to guarantee that any proposed safe time is less than
> primaryReplica.expirationTime. Along with selection of a new primary on
> restart (with newPrimary.startTime > oldPrimaryStartTime) it'll be enough to
> force the invariant specified in DoD. However, it's not trivial to handle
> proposedSafeTime out of bounds condition.
> Another option is to retrieve safe time from either raft log or snapshot.
>
> And last but not least - it's also required to restore
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)