[ https://issues.apache.org/jira/browse/IGNITE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17656146#comment-17656146 ]
Vladislav Pyatkov commented on IGNITE-18026: -------------------------------------------- Merged 48b3a2992ac9d4aed72ae33d298d5d819715f735 [~Denis Chudov] Thank you for your contribution. > 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 > Assignee: Denis Chudov > Priority: Major > Labels: ignite-3 > Time Spent: 10m > Remaining Estimate: 0h > > *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 logic related 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)