[ https://issues.apache.org/jira/browse/IGNITE-24366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Lapin updated IGNITE-24366: ------------------------------------- Description: h3. Motivation Within colocation track we should reasonably move table-not-specific requests and commands processing from PartitionReplicaListener and PartitionListener to ZonePartitionReplicaListener and ZonePartitionRaftListener. UpdateMinimumActiveTxBeginTimeReplicaRequest is one of such requests to be moved. A bit of a context: UpdateMinimumActiveTxBeginTimeReplicaRequest is used in order to adjust the time of safe catalog compaction. h3. Definition of Done * Catalog compaction works within colocation track. h3. Implementation Notes * This ticket is similar to https://issues.apache.org/jira/browse/IGNITE-22620: ** It's required to move(copy + hide under the feature flag original processor) request processor PartitionReplicaListener#processMinimumActiveTxTimeReplicaRequest to ZonePartitionReplicaListener ** Same for corresponding raft command handler, where we will likely call raft table listeners in order to register a callback on storage flush {code:java} storage.flush(false).whenComplete((r, t) -> { if (t == null) { TablePartitionId partitionId = new TablePartitionId(storage.tableId(), storage.partitionId()); minTimeCollectorService.recordMinActiveTxTimestamp(partitionId, timestamp); } }); {code} if command index is greater than one in the storage. In order to do so, we may introduce corresponding public method in table raft listener, aka table raft processor. > Implement VacuumTxStateReplicaRequest processing for zone replica > ----------------------------------------------------------------- > > Key: IGNITE-24366 > URL: https://issues.apache.org/jira/browse/IGNITE-24366 > Project: Ignite > Issue Type: Improvement > Reporter: Alexander Lapin > Priority: Major > Labels: ignite-3 > > h3. Motivation > Within colocation track we should reasonably move table-not-specific requests > and commands processing from PartitionReplicaListener and PartitionListener > to ZonePartitionReplicaListener and ZonePartitionRaftListener. > UpdateMinimumActiveTxBeginTimeReplicaRequest is one of such requests to be > moved. > A bit of a context: UpdateMinimumActiveTxBeginTimeReplicaRequest is used in > order to adjust the time of safe catalog compaction. > h3. Definition of Done > * Catalog compaction works within colocation track. > h3. Implementation Notes > * This ticket is similar to > https://issues.apache.org/jira/browse/IGNITE-22620: > ** It's required to move(copy + hide under the feature flag original > processor) request processor > PartitionReplicaListener#processMinimumActiveTxTimeReplicaRequest to > ZonePartitionReplicaListener > ** Same for corresponding raft command handler, where we will likely call > raft table listeners in order to register a callback on storage flush > {code:java} > storage.flush(false).whenComplete((r, t) -> { > if (t == null) { > TablePartitionId partitionId = new > TablePartitionId(storage.tableId(), storage.partitionId()); > minTimeCollectorService.recordMinActiveTxTimestamp(partitionId, > timestamp); > } > }); {code} > if command index is greater than one in the storage. In order to do so, we > may introduce corresponding public method in table raft listener, aka table > raft processor. -- This message was sent by Atlassian Jira (v8.20.10#820010)