[ 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. VacuumTxStateReplicaRequest is one of such requests to be moved. A bit of a context: VacuumTxStateReplicaRequest is used in order remove obsolete txn state. h3. Definition of Done * Transaction vacuumization works within collocation track. h3. Implementation Notes * It's required to move(copy + hide under the feature flag original processor) request processor PartitionReplicaListener#processVacuumTxStateReplicaRequest to ZonePartitionReplicaListener * Same for corresponding raft command handler, where we will remove stale data from txnStateStorage. was: 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. > VacuumTxStateReplicaRequest is one of such requests to be moved. > A bit of a context: VacuumTxStateReplicaRequest is used in order remove > obsolete txn state. > h3. Definition of Done > * Transaction vacuumization works within collocation track. > h3. Implementation Notes > * It's required to move(copy + hide under the feature flag original > processor) request processor > PartitionReplicaListener#processVacuumTxStateReplicaRequest to > ZonePartitionReplicaListener > * Same for corresponding raft command handler, where we will remove stale > data from txnStateStorage. -- This message was sent by Atlassian Jira (v8.20.10#820010)