[ https://issues.apache.org/jira/browse/IGNITE-22637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Zhuravkov 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 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. 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 check pointed time across all partitions. 3. Get min begin time across all started transaction. 4. Take min of 1., 2., 3. 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 > 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)