Pavel Pereslegin created IGNITE-26411: -----------------------------------------
Summary: Revise existing storage tests (StorageCleanupTest, IndexGcTest) Key: IGNITE-26411 URL: https://issues.apache.org/jira/browse/IGNITE-26411 Project: Ignite Issue Type: Improvement Components: transactions ai3 Reporter: Pavel Pereslegin Looks like some tests are not using the following StorageUpdateHandler methods correctly: * handleUpdate(...) * handleUpdateAll(...) This means that the following parameter set invariant is violated: {code:java} assert trackWriteIntent || commitTs != null {code} When writing data to storage, two main situations are possible. # The transaction is complete - the transaction is committed (in this case, commitTs != null) # The transaction is not complete - changes are accumulated (in this case, trackWriteIntent=true) However, the following tests pass commitTs=null along with trackWriteIntent=false * StorageCleanupTest.testCleanupBeforeUpdateNoData * StorageCleanupTest.testCleanupAndUpdateRowBatch * StorageCleanupTest.testCleanupAndUpdateRow * IndexGcTest.testRemoveTombstonesRowRowNull * IndexGcTest.testRemoveStaleEntriesWithDifferentIndexes * IndexGcTest.testRemoveTombstonesRowNullRow * IndexGcTest.testRemoveTombstonesRowNullNull * IndexGcTest.testRemoveStaleEntryWithSameIndex This is inconvenient and can lead to errors in the future, since it requires adding separate checks in production code (eg IGNITE-26067) that are not possible in a production scenario. -- This message was sent by Atlassian Jira (v8.20.10#820010)