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