You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vp...@apache.org on 2023/12/11 14:25:59 UTC

(ignite-3) branch main updated: IGNITE-21012 Fix typo in the transaction state COMMITED (#2942)

This is an automated email from the ASF dual-hosted git repository.

vpyatkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 7b6da4eabd IGNITE-21012 Fix typo in the transaction state COMMITED (#2942)
7b6da4eabd is described below

commit 7b6da4eabd1776109c218458c114bb499b11bb74
Author: Vladislav Pyatkov <vl...@gmail.com>
AuthorDate: Mon Dec 11 17:25:52 2023 +0300

    IGNITE-21012 Fix typo in the transaction state COMMITED (#2942)
---
 .../ignite/disruptor/StripedDisruptorTest.java     |  4 ++--
 .../sql/engine/framework/NoOpTransaction.java      |  2 +-
 ...butedTestThreeNodesThreeReplicasCollocated.java |  2 +-
 .../ignite/distributed/ItTxStateLocalMapTest.java  |  4 ++--
 .../table/distributed/raft/PartitionListener.java  |  8 ++++----
 .../replicator/PartitionReplicaListener.java       | 22 ++++++++++----------
 .../incoming/IncomingSnapshotCopierTest.java       |  4 ++--
 .../OutgoingSnapshotTxDataStreamingTest.java       |  4 ++--
 .../PartitionReplicaListenerDurableUnlockTest.java |  4 ++--
 .../replication/PartitionReplicaListenerTest.java  | 16 +++++++--------
 modules/transactions/README.md                     |  4 ++--
 .../org/apache/ignite/internal/tx/TxState.java     |  6 +++---
 .../internal/tx/impl/ReadOnlyTransactionImpl.java  |  4 ++--
 .../ignite/internal/tx/impl/TxManagerImpl.java     | 17 ++++++++-------
 .../message/WriteIntentSwitchReplicaRequest.java   |  2 +-
 .../apache/ignite/internal/tx/TxManagerTest.java   |  2 +-
 .../org/apache/ignite/internal/tx/TxStateTest.java | 24 +++++++++++-----------
 .../tx/impl/ReadWriteTransactionImplTest.java      |  4 ++--
 .../storage/state/AbstractTxStateStorageTest.java  | 18 ++++++++--------
 19 files changed, 75 insertions(+), 76 deletions(-)

diff --git a/modules/raft/src/test/java/org/apache/ignite/disruptor/StripedDisruptorTest.java b/modules/raft/src/test/java/org/apache/ignite/disruptor/StripedDisruptorTest.java
index c207502dd5..da7d8fa4d9 100644
--- a/modules/raft/src/test/java/org/apache/ignite/disruptor/StripedDisruptorTest.java
+++ b/modules/raft/src/test/java/org/apache/ignite/disruptor/StripedDisruptorTest.java
@@ -76,10 +76,10 @@ public class StripedDisruptorTest extends IgniteAbstractTest {
 
             if (i % 10 == 0) {
                 assertTrue(IgniteTestUtils.waitForCondition(() -> handler1.applied == finalInt + 1, 10_000),
-                        IgniteStringFormatter.format("Batch was not commited [applied={}, expected={}, buffered={}]",
+                        IgniteStringFormatter.format("Batch was not committed [applied={}, expected={}, buffered={}]",
                                 handler1.applied, finalInt + 1, handler1.batch));
                 assertTrue(IgniteTestUtils.waitForCondition(() -> handler2.applied == finalInt + 1, 10_000),
-                        IgniteStringFormatter.format("Batch was not commited [applied={}, expected={}, buffered={}]",
+                        IgniteStringFormatter.format("Batch was not committed [applied={}, expected={}, buffered={}]",
                                 handler2.applied, finalInt + 1, handler2.batch));
             }
         }
diff --git a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/NoOpTransaction.java b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/NoOpTransaction.java
index 78b178960b..e6216280e8 100644
--- a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/NoOpTransaction.java
+++ b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/NoOpTransaction.java
@@ -137,7 +137,7 @@ public final class NoOpTransaction implements InternalTransaction {
 
     @Override
     public TxState state() {
-        return TxState.COMMITED;
+        return TxState.COMMITTED;
     }
 
     @Override
diff --git a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestThreeNodesThreeReplicasCollocated.java b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestThreeNodesThreeReplicasCollocated.java
index 79a6080e6b..fba1fc61a0 100644
--- a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestThreeNodesThreeReplicasCollocated.java
+++ b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestThreeNodesThreeReplicasCollocated.java
@@ -70,7 +70,7 @@ public class ItTxDistributedTestThreeNodesThreeReplicasCollocated extends ItTxDi
         assertTrue(waitForCondition(
                 () -> txTestCluster.txStateStorages.values().stream()
                         .map(txStateStorage -> txStateStorage.get(txId))
-                        .filter(txMeta -> txMeta != null && txMeta.txState() == TxState.COMMITED)
+                        .filter(txMeta -> txMeta != null && txMeta.txState() == TxState.COMMITTED)
                         .count() >= 2,
                 5_000));
     }
diff --git a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
index b525669d8d..6c7f69ddc7 100644
--- a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
+++ b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
@@ -20,7 +20,7 @@ package org.apache.ignite.distributed;
 import static java.util.stream.Collectors.toList;
 import static org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.tx.TxState.PENDING;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -152,7 +152,7 @@ public class ItTxStateLocalMapTest extends IgniteAbstractTest {
         checkLocalTxStateOnNodes(
                 tx.id(),
                 new TxStateMeta(
-                        commit ? COMMITED : ABORTED,
+                        commit ? COMMITTED : ABORTED,
                         coordinatorId,
                         tx.commitPartition(),
                         commit ? testCluster.clocks.get(coord.name()).now() : null
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
index e516799cc2..40468ba0d3 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
@@ -22,7 +22,7 @@ import static java.util.function.Predicate.not;
 import static java.util.stream.Collectors.toList;
 import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.tx.TxState.PENDING;
 import static org.apache.ignite.internal.util.CollectionUtils.last;
 import static org.apache.ignite.lang.ErrorGroups.Transactions.TX_UNEXPECTED_STATE_ERR;
@@ -322,7 +322,7 @@ public class PartitionListener implements RaftGroupListener, BeforeApplyHandler
 
         UUID txId = cmd.txId();
 
-        TxState stateToSet = cmd.commit() ? COMMITED : ABORTED;
+        TxState stateToSet = cmd.commit() ? COMMITTED : ABORTED;
 
         TxMeta txMetaToSet = new TxMeta(
                 stateToSet,
@@ -576,7 +576,7 @@ public class PartitionListener implements RaftGroupListener, BeforeApplyHandler
 
     private void replicaTouch(UUID txId, String txCoordinatorId, HybridTimestamp commitTimestamp, boolean full) {
         txManager.updateTxMeta(txId, old -> new TxStateMeta(
-                full ? COMMITED : PENDING,
+                full ? COMMITTED : PENDING,
                 txCoordinatorId,
                 old == null ? null : old.commitPartitionId(),
                 full ? commitTimestamp : null
@@ -585,7 +585,7 @@ public class PartitionListener implements RaftGroupListener, BeforeApplyHandler
 
     private void markFinished(UUID txId, boolean commit, @Nullable HybridTimestamp commitTimestamp, String txCoordinatorId) {
         txManager.updateTxMeta(txId, old -> new TxStateMeta(
-                commit ? COMMITED : ABORTED,
+                commit ? COMMITTED : ABORTED,
                 txCoordinatorId,
                 old == null ? null : old.commitPartitionId(),
                 commit ? commitTimestamp : null
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
index 232bce8a49..fa28a201f6 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
@@ -27,7 +27,7 @@ import static org.apache.ignite.internal.hlc.HybridTimestamp.hybridTimestampToLo
 import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static org.apache.ignite.internal.tx.TxState.ABANDONED;
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.tx.TxState.PENDING;
 import static org.apache.ignite.internal.tx.TxState.isFinalState;
 import static org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
@@ -382,7 +382,7 @@ public class PartitionReplicaListener implements ReplicaListener {
     private CompletableFuture<?> durableCleanup(UUID txId, TxMeta txMeta) {
         Collection<TablePartitionId> enlistedPartitions = txMeta.enlistedPartitions();
 
-        boolean commit = txMeta.txState() == COMMITED;
+        boolean commit = txMeta.txState() == COMMITTED;
 
         HybridTimestamp commitTimestamp = txMeta.commitTimestamp();
 
@@ -1520,7 +1520,7 @@ public class PartitionReplicaListener implements ReplicaListener {
             // Other combinations of states are not possible.
 
             // First, throw an exception if we are trying to abort an already committed tx.
-            assert !(txMeta.txState() == COMMITED && !commit) : "Not allowed to abort an already committed transaction.";
+            assert !(txMeta.txState() == COMMITTED && !commit) : "Not allowed to abort an already committed transaction.";
 
             // If a 'commit' sees a tx in the ABORTED state (valid as per the explanation above), let the client know with an exception.
             if (commit && txMeta.txState() == ABORTED) {
@@ -1538,7 +1538,7 @@ public class PartitionReplicaListener implements ReplicaListener {
                         markLocksReleased(
                                 txId,
                                 enlistedPartitions,
-                                commit ? COMMITED : ABORTED,
+                                commit ? COMMITTED : ABORTED,
                                 commitTimestamp)
                 );
     }
@@ -1577,7 +1577,7 @@ public class PartitionReplicaListener implements ReplicaListener {
                         )
                 )
                 .whenComplete((o, throwable) -> {
-                    TxState txState = commit ? COMMITED : ABORTED;
+                    TxState txState = commit ? COMMITTED : ABORTED;
 
                     markFinished(txId, txState, commitTimestamp);
                 });
@@ -1617,7 +1617,7 @@ public class PartitionReplicaListener implements ReplicaListener {
      * <ol>
      *     <li>Waits for finishing of local transactional operations;</li>
      *     <li>Runs asynchronously the specific raft {@code TxCleanupCommand} command, that will convert all pending entries(writeIntents)
-     *     to either regular values({@link TxState#COMMITED}) or removing them ({@link TxState#ABORTED});</li>
+     *     to either regular values({@link TxState#COMMITTED}) or removing them ({@link TxState#ABORTED});</li>
      *     <li>Releases all locks that were held on local Replica by given transaction.</li>
      * </ol>
      * This operation is idempotent, so it's safe to retry it.
@@ -1633,7 +1633,7 @@ public class PartitionReplicaListener implements ReplicaListener {
             return failedFuture(e);
         }
 
-        TxState txState = request.commit() ? COMMITED : ABORTED;
+        TxState txState = request.commit() ? COMMITTED : ABORTED;
 
         markFinished(request.txId(), txState, request.commitTimestamp());
 
@@ -3414,7 +3414,7 @@ public class PartitionReplicaListener implements ReplicaListener {
             // The cleanup for this row has already been triggered. For example, we are resolving a write intent for an RW transaction
             // and a concurrent RO transaction resolves the same row, hence computeIfAbsent.
             return txManager.executeCleanupAsync(() ->
-                    inBusyLock(busyLock, () -> storageUpdateHandler.switchWriteIntents(txId, txState == COMMITED, commitTimestamp))
+                    inBusyLock(busyLock, () -> storageUpdateHandler.switchWriteIntents(txId, txState == COMMITTED, commitTimestamp))
             ).whenComplete((unused, e) -> {
                 if (e != null) {
                     LOG.warn("Failed to complete transaction cleanup command [txId=" + txId + ']', e);
@@ -3464,7 +3464,7 @@ public class PartitionReplicaListener implements ReplicaListener {
             // TODO more determined
             throw new TransactionAbandonedException(txId, txMeta);
         }
-        if (txMeta.txState() == COMMITED) {
+        if (txMeta.txState() == COMMITTED) {
             boolean readLatest = timestamp == null;
 
             return readLatest || txMeta.commitTimestamp().compareTo(timestamp) <= 0;
@@ -3624,7 +3624,7 @@ public class PartitionReplicaListener implements ReplicaListener {
      * Marks the transaction as finished in local tx state map.
      *
      * @param txId Transaction id.
-     * @param txState Transaction state, must be either {@link TxState#COMMITED} or {@link TxState#ABORTED}.
+     * @param txState Transaction state, must be either {@link TxState#COMMITTED} or {@link TxState#ABORTED}.
      * @param commitTimestamp Commit timestamp.
      */
     private void markFinished(UUID txId, TxState txState, @Nullable HybridTimestamp commitTimestamp) {
@@ -3636,7 +3636,7 @@ public class PartitionReplicaListener implements ReplicaListener {
                         txState,
                         old.txCoordinatorId(),
                         old.commitPartitionId(),
-                        txState == COMMITED ? commitTimestamp : null
+                        txState == COMMITTED ? commitTimestamp : null
                 ));
     }
 
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/incoming/IncomingSnapshotCopierTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/incoming/IncomingSnapshotCopierTest.java
index aecfec60cc..1d9e4b20a3 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/incoming/IncomingSnapshotCopierTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/incoming/IncomingSnapshotCopierTest.java
@@ -25,7 +25,7 @@ import static org.apache.ignite.internal.testframework.matchers.CompletableFutur
 import static org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
 import static org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willSucceedIn;
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
 import static org.apache.ignite.internal.util.IgniteUtils.shutdownAndAwaitTermination;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -361,7 +361,7 @@ public class IncomingSnapshotCopierTest extends BaseIgniteAbstractTest {
         int tableId = 2;
 
         for (int i = 0; i < txIds.size(); i++) {
-            TxState txState = i % 2 == 0 ? COMMITED : ABORTED;
+            TxState txState = i % 2 == 0 ? COMMITTED : ABORTED;
 
             storage.put(txIds.get(i), new TxMeta(txState, List.of(new TablePartitionId(tableId, TEST_PARTITION)), HYBRID_CLOCK.now()));
         }
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/outgoing/OutgoingSnapshotTxDataStreamingTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/outgoing/OutgoingSnapshotTxDataStreamingTest.java
index 0ec515f1f7..e52102e814 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/outgoing/OutgoingSnapshotTxDataStreamingTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/snapshot/outgoing/OutgoingSnapshotTxDataStreamingTest.java
@@ -77,7 +77,7 @@ class OutgoingSnapshotTxDataStreamingTest extends BaseIgniteAbstractTest {
     private final TablePartitionId partition2Id = new TablePartitionId(2, 2);
 
     private final TxMeta meta1 = new TxMeta(TxState.ABORTED, List.of(partition1Id), clock.now());
-    private final TxMeta meta2 = new TxMeta(TxState.COMMITED, List.of(partition1Id, partition2Id), clock.now());
+    private final TxMeta meta2 = new TxMeta(TxState.COMMITTED, List.of(partition1Id, partition2Id), clock.now());
 
     private final PartitionKey partitionKey = new PartitionKey(1, 1);
 
@@ -104,7 +104,7 @@ class OutgoingSnapshotTxDataStreamingTest extends BaseIgniteAbstractTest {
         assertThat(new ArrayList<>(response.txMeta().get(0).enlistedPartitions()), is(List.of(partition1Id)));
         assertThat(response.txMeta().get(0).commitTimestamp(), is(meta1.commitTimestamp()));
 
-        assertThat(response.txMeta().get(1).txState(), is(TxState.COMMITED));
+        assertThat(response.txMeta().get(1).txState(), is(TxState.COMMITTED));
         assertThat(new ArrayList<>(response.txMeta().get(1).enlistedPartitions()), is(List.of(partition1Id, partition2Id)));
         assertThat(response.txMeta().get(1).commitTimestamp(), is(meta2.commitTimestamp()));
     }
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerDurableUnlockTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerDurableUnlockTest.java
index 8fc5b2a2eb..1f0aff0121 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerDurableUnlockTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerDurableUnlockTest.java
@@ -156,7 +156,7 @@ public class PartitionReplicaListenerDurableUnlockTest extends IgniteAbstractTes
         TablePartitionId part1 = new TablePartitionId(TABLE_ID, 1);
 
         txStateStorage.put(tx0, new TxMeta(TxState.PENDING, List.of(part0, part1), null));
-        txStateStorage.put(tx1, new TxMeta(TxState.COMMITED, List.of(part0), clock.now()));
+        txStateStorage.put(tx1, new TxMeta(TxState.COMMITTED, List.of(part0), clock.now()));
         txStateStorage.put(tx2, new TxMeta(TxState.ABORTED, List.of(part0), null));
 
         cleanupCallback = (tx, partId) -> {
@@ -180,7 +180,7 @@ public class PartitionReplicaListenerDurableUnlockTest extends IgniteAbstractTes
     public void testRepeatedUntilSuccess() {
         UUID tx0 = TestTransactionIds.newTransactionId();
         TablePartitionId part0 = new TablePartitionId(TABLE_ID, PART_ID);
-        txStateStorage.put(tx0, new TxMeta(TxState.COMMITED, List.of(part0), null));
+        txStateStorage.put(tx0, new TxMeta(TxState.COMMITTED, List.of(part0), null));
 
         int exCnt = 3;
         AtomicInteger exceptionCounter = new AtomicInteger(exCnt);
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
index 5a7cd8b007..45388b4192 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
@@ -542,7 +542,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
     public void testTxStateReplicaRequestCommitState() throws Exception {
         UUID txId = newTxId();
 
-        txStateStorage.put(txId, new TxMeta(TxState.COMMITED, singletonList(grpId), clock.now()));
+        txStateStorage.put(txId, new TxMeta(TxState.COMMITTED, singletonList(grpId), clock.now()));
 
         HybridTimestamp readTimestamp = clock.now();
 
@@ -555,7 +555,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
 
         TransactionMeta txMeta = tuple.txMeta();
         assertNotNull(txMeta);
-        assertEquals(TxState.COMMITED, txMeta.txState());
+        assertEquals(TxState.COMMITTED, txMeta.txState());
         assertNotNull(txMeta.commitTimestamp());
         assertTrue(readTimestamp.compareTo(txMeta.commitTimestamp()) > 0);
         assertNull(tuple.leaderName());
@@ -640,11 +640,11 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
         BinaryRow testBinaryKey = nextBinaryKey();
         BinaryRow testBinaryRow = binaryRow(key(testBinaryKey), new TestValue(1, "v1"));
         var rowId = new RowId(PART_ID);
-        txState = TxState.COMMITED;
+        txState = TxState.COMMITTED;
 
         pkStorage().put(testBinaryRow, rowId);
         testMvPartitionStorage.addWrite(rowId, testBinaryRow, txId, TABLE_ID, PART_ID);
-        txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITED, localNode.id(), commitPartitionId, clock.now()));
+        txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITTED, localNode.id(), commitPartitionId, clock.now()));
 
         CompletableFuture<ReplicaResult> fut = doReadOnlySingleGet(testBinaryKey);
 
@@ -1299,8 +1299,8 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
             HybridTimestamp now = clock.now();
 
             // Imitation of tx commit.
-            txStateStorage.put(txId, new TxMeta(TxState.COMMITED, new ArrayList<>(), now));
-            txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITED, UUID.randomUUID().toString(), commitPartitionId, now));
+            txStateStorage.put(txId, new TxMeta(TxState.COMMITTED, new ArrayList<>(), now));
+            txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITTED, UUID.randomUUID().toString(), commitPartitionId, now));
 
             CompletableFuture<?> replicaCleanupFut = partitionReplicaListener.invoke(
                     TX_MESSAGES_FACTORY.writeIntentSwitchReplicaRequest()
@@ -2473,7 +2473,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
     private void cleanup(UUID txId) {
         HybridTimestamp commitTs = clock.now();
 
-        txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITED, UUID.randomUUID().toString(), commitPartitionId, commitTs));
+        txManager.updateTxMeta(txId, old -> new TxStateMeta(TxState.COMMITTED, UUID.randomUUID().toString(), commitPartitionId, commitTs));
 
         partitionReplicaListener.invoke(
                 TX_MESSAGES_FACTORY.writeIntentSwitchReplicaRequest()
@@ -2485,7 +2485,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
                 localNode.id()
         ).join();
 
-        txState = TxState.COMMITED;
+        txState = TxState.COMMITTED;
     }
 
     private BinaryTupleMessage toIndexBound(int val) {
diff --git a/modules/transactions/README.md b/modules/transactions/README.md
index cc24a2e60b..52e6536599 100644
--- a/modules/transactions/README.md
+++ b/modules/transactions/README.md
@@ -76,7 +76,7 @@ committing transaction can't be restarted.
 # Tx metadata
 Each node maintains a persistent tx map:
 
-txid -> txstate(ABORTED|COMMITED)
+txid -> txstate(ABORTED|COMMITTED)
 
 This map is used for a failover and for reading. Oldest entries in txid map must be cleaned to avoid unlimited grow.
 
@@ -202,7 +202,7 @@ Then a new leaseholder is elected, it checks for its pending transactions and as
 ## Coordinator fail
 Broadcast recovery (various strategies are possible: via gossip or dedicated node) is necessary (because we don't have 
 full tx topology on each enlisted node - because it's unknown until commit). All nodes are requested about local txs state. 
-If at least one is commiting, it's safe to commit.
+If at least one is committing, it's safe to commit.
 
 **Note: a failover handling is still work in progress.**
 
diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/TxState.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/TxState.java
index ab141c2a09..4176047e2d 100644
--- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/TxState.java
+++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/TxState.java
@@ -28,7 +28,7 @@ public enum TxState {
     PENDING,
     FINISHING,
     ABORTED,
-    COMMITED,
+    COMMITTED,
     ABANDONED;
 
     private static final boolean[][] TRANSITION_MATRIX = {
@@ -44,10 +44,10 @@ public enum TxState {
      * Checks whether the state is final, i.e. no transition from this state is allowed.
      *
      * @param state Transaction state.
-     * @return {@code true} if the state is either {@link #COMMITED} or {@link #ABORTED}
+     * @return {@code true} if the state is either {@link #COMMITTED} or {@link #ABORTED}
      */
     public static boolean isFinalState(TxState state) {
-        return state == COMMITED || state == ABORTED;
+        return state == COMMITTED || state == ABORTED;
     }
 
     /**
diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/ReadOnlyTransactionImpl.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/ReadOnlyTransactionImpl.java
index 535c2c73cf..3e0e6c4dbb 100644
--- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/ReadOnlyTransactionImpl.java
+++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/ReadOnlyTransactionImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.internal.tx.impl;
 
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
 
 import java.util.UUID;
@@ -116,7 +116,7 @@ class ReadOnlyTransactionImpl extends IgniteAbstractTransactionImpl {
         return ((TxManagerImpl) txManager).completeReadOnlyTransactionFuture(new TxIdAndTimestamp(readTimestamp, id()))
                 .thenRun(() -> txManager.updateTxMeta(
                         id(),
-                        old -> new TxStateMeta(COMMITED, old.txCoordinatorId(), old.commitPartitionId(), old.commitTimestamp())
+                        old -> new TxStateMeta(COMMITTED, old.txCoordinatorId(), old.commitPartitionId(), old.commitTimestamp())
                 ));
     }
 }
diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java
index 507a7e4e41..34146bee95 100644
--- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java
+++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java
@@ -21,7 +21,7 @@ import static java.util.concurrent.CompletableFuture.allOf;
 import static java.util.concurrent.CompletableFuture.runAsync;
 import static java.util.concurrent.CompletableFuture.supplyAsync;
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.tx.TxState.PENDING;
 import static org.apache.ignite.internal.tx.TxState.checkTransitionCorrectness;
 import static org.apache.ignite.internal.tx.TxState.isFinalState;
@@ -240,8 +240,8 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler {
         HybridTimestamp observableTimestamp = timestampTracker.get();
 
         HybridTimestamp readTimestamp = observableTimestamp != null
-                ? HybridTimestamp.max(observableTimestamp, currentReadTimestamp())
-                : currentReadTimestamp();
+                ? HybridTimestamp.max(observableTimestamp, currentReadTimestamp(beginTimestamp))
+                : currentReadTimestamp(beginTimestamp);
 
         TxIdAndTimestamp txIdAndTimestamp = new TxIdAndTimestamp(readTimestamp, txId);
 
@@ -276,12 +276,11 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler {
     /**
      * Current read timestamp, for calculation of read timestamp of read-only transactions.
      *
+     * @param beginTx Begin transaction timestamp.
      * @return Current read timestamp.
      */
-    private HybridTimestamp currentReadTimestamp() {
-        HybridTimestamp now = clock.now();
-
-        return new HybridTimestamp(now.getPhysical()
+    private HybridTimestamp currentReadTimestamp(HybridTimestamp beginTx) {
+        return new HybridTimestamp(beginTx.getPhysical()
                 - idleSafeTimePropagationPeriodMsSupplier.getAsLong()
                 - HybridTimestamp.CLOCK_SKEW,
                 0
@@ -315,7 +314,7 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler {
         if (commit) {
             timestampTracker.update(clock.now());
 
-            finalState = COMMITED;
+            finalState = COMMITTED;
         } else {
             finalState = ABORTED;
         }
@@ -694,7 +693,7 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler {
             TablePartitionId commitPartitionId,
             @Nullable HybridTimestamp commitTimestamp
     ) {
-        return new TxStateMeta(commit ? COMMITED : ABORTED, localNodeId, commitPartitionId, commitTimestamp);
+        return new TxStateMeta(commit ? COMMITTED : ABORTED, localNodeId, commitPartitionId, commitTimestamp);
     }
 
     /**
diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/message/WriteIntentSwitchReplicaRequest.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/message/WriteIntentSwitchReplicaRequest.java
index d4417255ff..3b8bc94ba3 100644
--- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/message/WriteIntentSwitchReplicaRequest.java
+++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/message/WriteIntentSwitchReplicaRequest.java
@@ -27,7 +27,7 @@ import org.apache.ignite.network.annotations.Transferable;
 import org.jetbrains.annotations.Nullable;
 
 /**
- * A replica request that either triggers the conversion of all pending entries(writeIntents) to regular values(TxState.COMMITED)
+ * A replica request that either triggers the conversion of all pending entries(writeIntents) to regular values(TxState.COMMITTED)
  * or removes them (TxState.ABORTED).
  */
 @Transferable(TxMessageGroup.WRITE_INTENT_SWITCH_REQUEST)
diff --git a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxManagerTest.java b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxManagerTest.java
index 0cc5b0dedb..e66521fff8 100644
--- a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxManagerTest.java
+++ b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxManagerTest.java
@@ -362,7 +362,7 @@ public class TxManagerTest extends IgniteAbstractTest {
         // Ensure that commit doesn't throw exceptions.
         InternalTransaction committedTransaction = prepareTransaction();
         committedTransaction.commit();
-        assertEquals(TxState.COMMITED, txManager.stateMeta(committedTransaction.id()).txState());
+        assertEquals(TxState.COMMITTED, txManager.stateMeta(committedTransaction.id()).txState());
 
         // Ensure that rollback doesn't throw exceptions.
         assertRollbackSucceeds();
diff --git a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxStateTest.java b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxStateTest.java
index 22d04806cf..a642f408be 100644
--- a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxStateTest.java
+++ b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxStateTest.java
@@ -33,7 +33,7 @@ public class TxStateTest {
     @Test
     void testStates() {
         assertThat(TxState.values(),
-                arrayContaining(TxState.PENDING, TxState.FINISHING, TxState.ABORTED, TxState.COMMITED, TxState.ABANDONED));
+                arrayContaining(TxState.PENDING, TxState.FINISHING, TxState.ABORTED, TxState.COMMITTED, TxState.ABANDONED));
     }
 
     @Test
@@ -45,7 +45,7 @@ public class TxStateTest {
 
         // Final.
         assertTrue(TxState.isFinalState(TxState.ABORTED));
-        assertTrue(TxState.isFinalState(TxState.COMMITED));
+        assertTrue(TxState.isFinalState(TxState.COMMITTED));
     }
 
     @Test
@@ -61,7 +61,7 @@ public class TxStateTest {
         // Allowed.
         assertTrue(TxState.checkTransitionCorrectness(null, TxState.PENDING));
         assertTrue(TxState.checkTransitionCorrectness(null, TxState.ABORTED));
-        assertTrue(TxState.checkTransitionCorrectness(null, TxState.COMMITED));
+        assertTrue(TxState.checkTransitionCorrectness(null, TxState.COMMITTED));
         assertTrue(TxState.checkTransitionCorrectness(null, TxState.ABANDONED));
     }
 
@@ -71,7 +71,7 @@ public class TxStateTest {
         assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.PENDING));
         assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.FINISHING));
         assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.ABORTED));
-        assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.COMMITED));
+        assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.COMMITTED));
         assertTrue(TxState.checkTransitionCorrectness(TxState.PENDING, TxState.ABANDONED));
     }
 
@@ -83,7 +83,7 @@ public class TxStateTest {
 
         // Allowed.
         assertTrue(TxState.checkTransitionCorrectness(TxState.FINISHING, TxState.ABORTED));
-        assertTrue(TxState.checkTransitionCorrectness(TxState.FINISHING, TxState.COMMITED));
+        assertTrue(TxState.checkTransitionCorrectness(TxState.FINISHING, TxState.COMMITTED));
         assertTrue(TxState.checkTransitionCorrectness(TxState.FINISHING, TxState.ABANDONED));
     }
 
@@ -92,7 +92,7 @@ public class TxStateTest {
         // Not allowed.
         assertFalse(TxState.checkTransitionCorrectness(TxState.ABORTED, TxState.PENDING));
         assertFalse(TxState.checkTransitionCorrectness(TxState.ABORTED, TxState.FINISHING));
-        assertFalse(TxState.checkTransitionCorrectness(TxState.ABORTED, TxState.COMMITED));
+        assertFalse(TxState.checkTransitionCorrectness(TxState.ABORTED, TxState.COMMITTED));
 
         // Allowed.
         assertTrue(TxState.checkTransitionCorrectness(TxState.ABORTED, TxState.ABORTED));
@@ -102,13 +102,13 @@ public class TxStateTest {
     @Test
     void testTransitionsFromCommitted() {
         // Not allowed.
-        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITED, TxState.PENDING));
-        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITED, TxState.FINISHING));
-        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITED, TxState.ABORTED));
+        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITTED, TxState.PENDING));
+        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITTED, TxState.FINISHING));
+        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITTED, TxState.ABORTED));
 
         // Allowed.
-        assertTrue(TxState.checkTransitionCorrectness(TxState.COMMITED, TxState.COMMITED));
-        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITED, TxState.ABANDONED));
+        assertTrue(TxState.checkTransitionCorrectness(TxState.COMMITTED, TxState.COMMITTED));
+        assertFalse(TxState.checkTransitionCorrectness(TxState.COMMITTED, TxState.ABANDONED));
     }
 
     /**
@@ -120,7 +120,7 @@ public class TxStateTest {
         assertFalse(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.PENDING));
         assertTrue(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.FINISHING));
         assertTrue(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.ABORTED));
-        assertTrue(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.COMMITED));
+        assertTrue(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.COMMITTED));
         assertTrue(TxState.checkTransitionCorrectness(TxState.ABANDONED, TxState.ABANDONED));
     }
 }
diff --git a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/ReadWriteTransactionImplTest.java b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/ReadWriteTransactionImplTest.java
index 2fc60c5fd1..602bbe988e 100644
--- a/modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/ReadWriteTransactionImplTest.java
+++ b/modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/ReadWriteTransactionImplTest.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.tx.impl;
 
 import static org.apache.ignite.internal.tx.TxState.ABORTED;
-import static org.apache.ignite.internal.tx.TxState.COMMITED;
+import static org.apache.ignite.internal.tx.TxState.COMMITTED;
 import static org.apache.ignite.internal.tx.TxState.FINISHING;
 import static org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -120,7 +120,7 @@ class ReadWriteTransactionImplTest extends BaseIgniteAbstractTest {
 
         if (commit) {
             if (txState == null) {
-                txState = COMMITED;
+                txState = COMMITTED;
             }
 
             tx.commit();
diff --git a/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/AbstractTxStateStorageTest.java b/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/AbstractTxStateStorageTest.java
index 63c1b68769..dcd962f8db 100644
--- a/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/AbstractTxStateStorageTest.java
+++ b/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/AbstractTxStateStorageTest.java
@@ -91,12 +91,12 @@ public abstract class AbstractTxStateStorageTest {
 
             txIds.add(txId);
 
-            storage.put(txId, new TxMeta(TxState.COMMITED, generateEnlistedPartitions(i), generateTimestamp(txId)));
+            storage.put(txId, new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(i), generateTimestamp(txId)));
         }
 
         for (int i = 0; i < 100; i++) {
             TxMeta txMeta = storage.get(txIds.get(i));
-            TxMeta txMetaExpected = new TxMeta(TxState.COMMITED, generateEnlistedPartitions(i), generateTimestamp(txIds.get(i)));
+            TxMeta txMetaExpected = new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(i), generateTimestamp(txIds.get(i)));
             assertEquals(txMetaExpected, txMeta);
         }
 
@@ -112,7 +112,7 @@ public abstract class AbstractTxStateStorageTest {
                 assertNull(txMeta);
             } else {
                 TxMeta txMeta = storage.get(txIds.get(i));
-                TxMeta txMetaExpected = new TxMeta(TxState.COMMITED, generateEnlistedPartitions(i), generateTimestamp(txIds.get(i)));
+                TxMeta txMetaExpected = new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(i), generateTimestamp(txIds.get(i)));
                 assertEquals(txMetaExpected, txMeta);
             }
         }
@@ -140,8 +140,8 @@ public abstract class AbstractTxStateStorageTest {
 
         UUID txId = UUID.randomUUID();
 
-        TxMeta txMeta1 = new TxMeta(TxState.COMMITED, new ArrayList<>(), generateTimestamp(txId));
-        TxMeta txMeta2 = new TxMeta(TxState.COMMITED, new ArrayList<>(), generateTimestamp(UUID.randomUUID()));
+        TxMeta txMeta1 = new TxMeta(TxState.COMMITTED, new ArrayList<>(), generateTimestamp(txId));
+        TxMeta txMeta2 = new TxMeta(TxState.COMMITTED, new ArrayList<>(), generateTimestamp(UUID.randomUUID()));
 
         assertTrue(storage.compareAndSet(txId, null, txMeta1, 1, 1));
         // Checking idempotency.
@@ -207,10 +207,10 @@ public abstract class AbstractTxStateStorageTest {
         TxStateStorage storage1 = tableStorage.getOrCreateTxStateStorage(1);
 
         UUID txId0 = UUID.randomUUID();
-        storage0.put(txId0, new TxMeta(TxState.COMMITED, generateEnlistedPartitions(1), generateTimestamp(txId0)));
+        storage0.put(txId0, new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(1), generateTimestamp(txId0)));
 
         UUID txId1 = UUID.randomUUID();
-        storage1.put(txId1, new TxMeta(TxState.COMMITED, generateEnlistedPartitions(1), generateTimestamp(txId1)));
+        storage1.put(txId1, new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(1), generateTimestamp(txId1)));
 
         storage0.destroy();
 
@@ -458,7 +458,7 @@ public abstract class AbstractTxStateStorageTest {
     }
 
     private TxMeta randomTxMeta(int enlistedPartsCount, UUID txId) {
-        return new TxMeta(TxState.COMMITED, generateEnlistedPartitions(enlistedPartsCount), generateTimestamp(txId));
+        return new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(enlistedPartsCount), generateTimestamp(txId));
     }
 
     /**
@@ -470,7 +470,7 @@ public abstract class AbstractTxStateStorageTest {
     protected IgniteBiTuple<UUID, TxMeta> randomTxMetaTuple(int enlistedPartsCount, UUID txId) {
         return new IgniteBiTuple<>(
                 txId,
-                new TxMeta(TxState.COMMITED, generateEnlistedPartitions(enlistedPartsCount), generateTimestamp(txId))
+                new TxMeta(TxState.COMMITTED, generateEnlistedPartitions(enlistedPartsCount), generateTimestamp(txId))
         );
     }