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

Pavel Pereslegin updated IGNITE-22638:
--------------------------------------
    Description: 
To implement determination of the MinimalRequiredTime (IGNITE-22637), we need 
to provide an API with semantics similar to CheckpointListener with two methods 
beforeCheckpointBegin/afterCheckpointEnd.

This listener will be used to publish a low watermark (timestamp) that ensures 
that raft log entries do not reference catalog history before that timestamp.

In general, before a checkpoint we temporarily store the calculated timestamp, 
and after the checkpoint we publish that timestamp. Once published, this 
timestamp can be used to calculate the MinimalRequiredTime on the local node 
(this is out of current task scope, this task is only about listener API).

This timestamp make sense only for "groups" with persistence, but it would be 
nice to have a common API (for example in MvPartitionStorage). So the 
implementation requires collaboration with the storage engine team.

  was:
To implement determination of the MinimalRequiredTime (IGNITE-22637), we need 
to provide an API with semantics similar to CheckpointListener with two methods 
beforeCheckpointBegin/afterCheckpointEnd.

This listener will be used to publish a low watermark (timestamp) that ensures 
that raft log entries do not reference catalog history before that timestamp.

In general, before a checkpoint we temporarily store the calculated timestamp, 
and after the checkpoint we publish that timestamp. Once published, this 
timestamp can be used to calculate the MinimalRequiredTime on the local node.

This timestamp make sense only for "groups" with persistence, but it would be 
nice to have a common API (for example in MvPartitionStorage). So the 
implementation requires collaboration with the storage engine team.


> Catalog compaction. Provide listener API on MvPartitionStorage with semantic 
> onBeforeCheckpoint.
> ------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-22638
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22638
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> To implement determination of the MinimalRequiredTime (IGNITE-22637), we need 
> to provide an API with semantics similar to CheckpointListener with two 
> methods beforeCheckpointBegin/afterCheckpointEnd.
> This listener will be used to publish a low watermark (timestamp) that 
> ensures that raft log entries do not reference catalog history before that 
> timestamp.
> In general, before a checkpoint we temporarily store the calculated 
> timestamp, and after the checkpoint we publish that timestamp. Once 
> published, this timestamp can be used to calculate the MinimalRequiredTime on 
> the local node (this is out of current task scope, this task is only about 
> listener API).
> This timestamp make sense only for "groups" with persistence, but it would be 
> nice to have a common API (for example in MvPartitionStorage). So the 
> implementation requires collaboration with the storage engine team.



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

Reply via email to