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

Pavel Pereslegin updated IGNITE-22849:
--------------------------------------
    Epic Link: IGNITE-22587

> Provide listener API on PartitionDataStorage/MvPartitionStorage with semantic 
> onCheckpointBegin/afterCheckpointEnd.
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-22849
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22849
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> To safely perform catalog compaction, it is necessary to implement an API to 
> listen for start/end events when flushing data to disk. Similar to what 
> already exists for `aipersist`, but on 
> {{MVPartitionStorage}}/{{PartitionDataStorage}} level.
> For example:
> {code:java}
> MvPartitionStorageFlushListener {
>     void onFlushBegin()
>     void afterFlushEnd()
> }
> {code}
> The {{onFlushBegin}} call must be guaranteed to occur before the data is 
> written to disk and that the data set to be written will not change. That is, 
> the semantics are similar to the current behavior of 
> {{CheckpointListener#onCheckpointBegin}}, but must be implemented at the 
> {{MvPartitionStorage}} level.
> The {{onCheckpointEnd}} call should be guaranteed to be made only after the 
> checkpoint has completed successfully. It is probably enough to subscribe to 
> the completion of the future from the flush() method.



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

Reply via email to