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

Pavel Pereslegin reassigned IGNITE-22641:
-----------------------------------------

    Assignee: Pavel Pereslegin

> Introduce UpdateMinimalActiveTxTime RAFT command
> ------------------------------------------------
>
>                 Key: IGNITE-22641
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22641
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Konstantin Orlov
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> When compaction of catalog will be implemented, we need to make sure that 
> RAFT log contains no non-flushed (implying that these commands may be applied 
> to state machine, but this state has not been persisted on disk yet) command 
> referring to the compacted version. The proposed solution is as follow:
> * First, we collect minimal *begin_time* of all pending RW transactions from 
> an entire cluster. Let's call it *minimal_active_tx_time*.
> * Then we add command to all raft groups available, payload of this command 
> should contain *minimal_active_tx_time*; when applied, time provided in 
> command should be saved to some transient state of the raft group.
> * During checkpoint, we use time saved on the previous step as minimal time 
> required to process the log.
> * During compaction, catalog must take into account minimal from all such 
> minimal times from every node from every raft group.
> Under this ticket let's introduce new RAFT command and corresponding handler 
> in {{PartitionListener}} class.



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

Reply via email to