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

Pavel Pereslegin resolved IGNITE-22849.
---------------------------------------
    Resolution: Won't Do

After discussion, an alternative approach was proposed, adding a 
{{flush(trigger=false)}} method to "subscribe" to a future checkpoint.
Will try to implement it in IGNITE-22638

> 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 {{afterFlushEnd}} call should be guaranteed to be made only after the 
> checkpoint has completed successfully. That is, if the node is subsequently 
> restarted, the logical recovery records made before the checkpoint will not 
> be used to restore the node state (most likely, it is enough to subscribe to 
> the future from the {{flush()}} method).



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

Reply via email to