[ 
https://issues.apache.org/jira/browse/IGNITE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-18026:
----------------------------------
    Issue Type: Improvement  (was: Bug)

> Rework HLC propagation in parts related to Raft
> -----------------------------------------------
>
>                 Key: IGNITE-18026
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18026
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation:*
> As for now, HLC propagates via replica messages and Raft appendEntries 
> messages. The latter required changes in jraft code which was done under 
> IGNITE-17221 . Replica safe time (see IGNITE-17263 ) also uses HLC timestamps 
> coming from leader, but these timestamps should be applied only on commiting 
> index, so the whole mechanism consists of two steps: creating safe time 
> candidate on processing of appendEntries request, and appying it on index 
> commit. 
> All of this have grown up into significant amount of invasive code in jraft 
> which is not related to Raft protocol itself. It can be reworked by moving 
> the loginc replated to HLC and safe time propagation to ignite state machine 
> listener working on top of Raft.
> *Definition of done:*
> There is no code related to HLC and safe time left in ignite-raft module.
> *Implementation notes:*
> Raft write commands can be enriched with HybridTimestamps. Idle HLC 
> adjustment could be done using SafeTimeSyncCommand (it should be renamed in 
> this case). Safe time candidates will no longer be needed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to