[
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)