Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Motivation
Please check the context in IGNITE-20033 and IGNITE-20034
After implemention writeIntentResolution coordinator path it'll be nessessary to move commitTimestamp generation to the txn coordinator side.
Definition of Done
- Easy-breezy, calculate commitTimestamp as coordinator.now().
Implementation Notes
Nothing to update on the "client" side, we already have everything we need.
public CompletableFuture<Void> finish() { ... HybridTimestamp commitTimestamp = commit ? clock.now() : null; TxFinishReplicaRequest req = FACTORY.txFinishReplicaRequest() ... .commitTimestampLong(hybridTimestampToLong(commitTimestamp)) // 2 ... }
On the "server" side, we will adjust and simplify code in org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener#finishTransaction
private CompletableFuture<Object> finishTransaction(List<TablePartitionId> aggregatedGroupIds, UUID txId, boolean commit) { // TODO: IGNITE-17261 Timestamp from request is not using until the issue has not been fixed (request.commitTimestamp()) var fut = new CompletableFuture<TxMeta>(); txTimestampUpdateMap.put(txId, fut); HybridTimestamp currentTimestamp = hybridClock.now(); HybridTimestamp commitTimestamp = commit ? currentTimestamp : null;
Attachments
Issue Links
- is blocked by
-
IGNITE-20034 Implement writeIntentResolution coordinator path
- Resolved