[ https://issues.apache.org/jira/browse/IGNITE-19028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17709650#comment-17709650 ]
Kirill Tkalenko commented on IGNITE-19028: ------------------------------------------ Looks good. > Implement safe-time propagation for meta-storage raft-group > ----------------------------------------------------------- > > Key: IGNITE-19028 > URL: https://issues.apache.org/jira/browse/IGNITE-19028 > Project: Ignite > Issue Type: Improvement > Reporter: Ivan Bessonov > Assignee: Semyon Danilov > Priority: Major > Labels: ignite-3 > Time Spent: 2.5h > Remaining Estimate: 0h > > For the future implementation of schema-synchronization, we need to have a > hybrid-timestamp, associated with the meta-storage. > Database schema changes are always associated with time, and proper place to > store them would be a meta-storage. > We don't have an "partition replica listener" that would have been a single > source of truth when it comes to new "write" commands. In case of > meta-storage, all nodes may create write commands. Assigning a time from the > _hlc_ wouldn't work - there's a chance of having out-of order events, which > is really, really bad. > In other words, timestamps should come in order. Does this mean that > meta-storage should also have its own replica listener? That's one > possibility. > Another possibility is to make leader into a timestamp-generator. This would > lead to changes in JRaft code, but still, this may be the right way to go. It > simply requires less changes to the code. We should just remember to adjust > the clock on leader's re-election, so that time would be monotonic. > By the way, if we go with the second option, it would also fit safe time > propagation in partitions. -- This message was sent by Atlassian Jira (v8.20.10#820010)