ibessonov commented on code in PR #7489:
URL: https://github.com/apache/ignite-3/pull/7489#discussion_r2740910577


##########
modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/PersistentPageMemoryMvPartitionStorageConcurrencyTest.java:
##########
@@ -96,4 +106,53 @@ protected void tearDown() throws Exception {
                 engine == null ? null : engine::stop
         );
     }
+
+    /**
+     * Reproducer for a <a 
href="https://issues.apache.org/jira/browse/IGNITE-27638";>corrupted Write 
Intent list</a>.
+     * During replace of the value found both in inner and leaf nodes of 
VersionChain tree, we tried to remove WI from the WI list twice.
+     * If neighboring WI in the WI double-linked list was invalidated between 
these removals, we would get an exception trying to access it
+     * to change its links.
+     *
+     * <p>Test builds a 3-level tree, and creates a race between aborting B 
and D write intents. WI are large, so they don't share the same
+     * page.
+     * <pre>
+     *              B
+     *             / \
+     *            A   C
+     *           / \ | \

Review Comment:
   I actually think this would look better, but it's up to you



##########
modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/PersistentPageMemoryMvPartitionStorageConcurrencyTest.java:
##########
@@ -96,4 +106,53 @@ protected void tearDown() throws Exception {
                 engine == null ? null : engine::stop
         );
     }
+
+    /**
+     * Reproducer for a <a 
href="https://issues.apache.org/jira/browse/IGNITE-27638";>corrupted Write 
Intent list</a>.
+     * During replace of the value found both in inner and leaf nodes of 
VersionChain tree, we tried to remove WI from the WI list twice.
+     * If neighboring WI in the WI double-linked list was invalidated between 
these removals, we would get an exception trying to access it
+     * to change its links.
+     *
+     * <p>Test builds a 3-level tree, and creates a race between aborting B 
and D write intents. WI are large, so they don't share the same
+     * page.
+     * <pre>
+     *              B
+     *             / \
+     *            A   C
+     *           / \ | \

Review Comment:
   ```suggestion
        *           / \ / \
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to