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

sanpwc 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 b03ea24f6e IGNITE-22002 Substitute assertion with explicit check for 
PrimaryReplicaChangeCommand (#3573)
b03ea24f6e is described below

commit b03ea24f6e1f92f2bf16e292991a9ea44fde5411
Author: Alexander Lapin <lapin1...@gmail.com>
AuthorDate: Tue Apr 9 12:30:36 2024 +0300

    IGNITE-22002 Substitute assertion with explicit check for 
PrimaryReplicaChangeCommand (#3573)
---
 .../ignite/internal/runner/app/ItDataSchemaSyncTest.java    |  2 --
 .../tx/storage/state/rocksdb/TxStateRocksDbStorage.java     |  5 +----
 .../tx/storage/state/AbstractTxStateStorageTest.java        | 13 +++++++++++--
 .../internal/tx/storage/state/test/TestTxStateStorage.java  | 12 +++++-------
 4 files changed, 17 insertions(+), 15 deletions(-)

diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
index 99e461df4c..2dd4d588f9 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
@@ -53,7 +53,6 @@ import org.apache.ignite.table.Table;
 import org.apache.ignite.table.Tuple;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
@@ -233,7 +232,6 @@ public class ItDataSchemaSyncTest extends 
IgniteAbstractTest {
      * Test correctness of schemes recovery after node restart.
      */
     @Test
-    @Disabled("https://issues.apache.org/jira/browse/IGNITE-21400";)
     public void checkSchemasCorrectlyRestore() {
         Ignite ignite1 = clusterNodes.get(1);
 
diff --git 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/storage/state/rocksdb/TxStateRocksDbStorage.java
 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/storage/state/rocksdb/TxStateRocksDbStorage.java
index 95f6a1a1b7..643685c8cd 100644
--- 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/storage/state/rocksdb/TxStateRocksDbStorage.java
+++ 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/storage/state/rocksdb/TxStateRocksDbStorage.java
@@ -574,13 +574,10 @@ public class TxStateRocksDbStorage implements 
TxStateStorage {
     @Override
     public void updateLease(long leaseStartTime, long commandIndex, long 
commandTerm) {
         busy(() -> {
-            if (leaseStartTime == this.leaseStartTime) {
+            if (leaseStartTime <= this.leaseStartTime) {
                 return null;
             }
 
-            assert leaseStartTime > this.leaseStartTime : format("Updated 
lease start time should be greater than current [current={}, "
-                    + "updated={}]", this.leaseStartTime, leaseStartTime);
-
             try (WriteBatch writeBatch = new WriteBatch()) {
                 byte[] leaseBytes = new byte[Long.BYTES];
 
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 64dc1eccaf..c10d1a9f16 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
@@ -430,8 +430,17 @@ public abstract class AbstractTxStateStorageTest extends 
BaseIgniteAbstractTest
         assertEquals(2, storage0.lastAppliedIndex());
         assertEquals(2, storage0.lastAppliedTerm());
 
-        assertThrows(AssertionError.class, () -> storage0.updateLease(100, 3, 
2));
-        assertThrows(AssertionError.class, () -> storage0.updateLease(100, 1, 
1));
+        // Storage update isn't expected because 100 < 2000
+        storage0.updateLease(100, 3, 2);
+        assertEquals(lst1, storage0.leaseStartTime());
+        assertEquals(2, storage0.lastAppliedIndex());
+        assertEquals(2, storage0.lastAppliedTerm());
+
+        // Storage update isn't expected because 100 < 2000
+        storage0.updateLease(100, 1, 1);
+        assertEquals(lst1, storage0.leaseStartTime());
+        assertEquals(2, storage0.lastAppliedIndex());
+        assertEquals(2, storage0.lastAppliedTerm());
     }
 
     private static void checkStorageIsEmpty(TxStateStorage storage) {
diff --git 
a/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/test/TestTxStateStorage.java
 
b/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/test/TestTxStateStorage.java
index 3d17c4138c..8d34592d16 100644
--- 
a/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/test/TestTxStateStorage.java
+++ 
b/modules/transactions/src/testFixtures/java/org/apache/ignite/internal/tx/storage/state/test/TestTxStateStorage.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.tx.storage.state.test;
 
 import static java.util.stream.Collectors.toList;
 import static org.apache.ignite.internal.hlc.HybridTimestamp.MIN_VALUE;
-import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static 
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
 import static 
org.apache.ignite.lang.ErrorGroups.Transactions.TX_STATE_STORAGE_REBALANCE_ERR;
 import static 
org.apache.ignite.lang.ErrorGroups.Transactions.TX_STATE_STORAGE_STOPPED_ERR;
@@ -253,12 +252,11 @@ public class TestTxStateStorage implements TxStateStorage 
{
 
     @Override
     public void updateLease(long leaseStartTime, long commandIndex, long 
commandTerm) {
-        assert leaseStartTime > this.leaseStartTime : format("Updated lease 
start time should be greater than current [current={}, "
-                + "updated={}]", this.leaseStartTime, leaseStartTime);
-
-        this.leaseStartTime = leaseStartTime;
-        this.lastAppliedIndex = commandIndex;
-        this.lastAppliedTerm = commandTerm;
+        if (leaseStartTime > this.leaseStartTime) {
+            this.leaseStartTime = leaseStartTime;
+            this.lastAppliedIndex = commandIndex;
+            this.lastAppliedTerm = commandTerm;
+        }
     }
 
     @Override

Reply via email to