[
https://issues.apache.org/jira/browse/IGNITE-22637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-22637:
--------------------------------------
Description:
To select a compaction time, each node should provide its MinimalRequiredTime
to compaction coordinator. To compute that time:
1. Get current value of low watermark.
2. Get min of check pointed time across all partitions.
3. Get min of begin_time across all started transaction.
4. Take min of 1., 2., 3.
begin_time transaction time (3) is stored in transient state of the
PartitionListener.
During checkpoint we write that time into the raft log.
When the compaction coordinator chooses min catalog version/catalog time, it
sends a catalog compaction command with this information to each node. Each
node should execute such command to perform compaction.
was:
To select a compaction time, each node should provide its MinimalRequiredTime
to compaction coordinator. To compute that time:
1. Get current value of low watermark.
2. Get min of check pointed time across all partitions.
3. Get min of begin_time across all started transaction.
4. Take min of 1., 2., 3.
begin_time transaction time (3) is stored in transient state of the
PartitionReplicaListener.
During checkpoint we write that time into the raft log.
When the compaction coordinator chooses min catalog version/catalog time, it
sends a catalog compaction command with this information to each node. Each
node should execute such command to perform compaction.
> Catalog compaction. Implement remote node part of compaction flow
> -----------------------------------------------------------------
>
> Key: IGNITE-22637
> URL: https://issues.apache.org/jira/browse/IGNITE-22637
> Project: Ignite
> Issue Type: Improvement
> Reporter: Maksim Zhuravkov
> Priority: Major
> Labels: ignite-3
>
> To select a compaction time, each node should provide its MinimalRequiredTime
> to compaction coordinator. To compute that time:
> 1. Get current value of low watermark.
> 2. Get min of check pointed time across all partitions.
> 3. Get min of begin_time across all started transaction.
> 4. Take min of 1., 2., 3.
> begin_time transaction time (3) is stored in transient state of the
> PartitionListener.
> During checkpoint we write that time into the raft log.
> When the compaction coordinator chooses min catalog version/catalog time, it
> sends a catalog compaction command with this information to each node. Each
> node should execute such command to perform compaction.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)