[
https://issues.apache.org/jira/browse/IGNITE-23047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-23047:
-------------------------------------
Description:
*org.apache.ignite.internal.storage.util.MvPartitionStoragesTest#testWaitOperationOnGetAllForCloseOrDestroy*
fails because the asynchronous partition creation code (on line 582) can
execute after the call of
*org.apache.ignite.internal.storage.util.MvPartitionStorages#getAllForCloseOrDestroy*
(on line 615). In which, for partitions that are not created, we mark them as
closed immediately.
We can fix it, for example, by waiting until the partition creation starts.
*StackTrace:*
{noformat}
java.lang.AssertionError: java.util.concurrent.ExecutionException:
org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:83)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
at
org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.testWaitOperationOnGetAllForCloseOrDestroy(MvPartitionStoragesTest.java:622)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Caused by: java.util.concurrent.ExecutionException:
org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
at
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022)
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
... 8 more
Caused by: org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.throwExceptionDependingOnOperation(MvPartitionStorages.java:404)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.lambda$create$0(MvPartitionStorages.java:110)
at
[email protected]/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.create(MvPartitionStorages.java:94)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.lambda$testWaitOperationOnGetAllForCloseOrDestroy$74(MvPartitionStoragesTest.java:582)
at
app//org.apache.ignite.internal.testframework.IgniteTestUtils.lambda$runAsync$1(IgniteTestUtils.java:504)
at [email protected]/java.lang.Thread.run(Thread.java:834)
{noformat}
was:
*org.apache.ignite.internal.storage.util.MvPartitionStoragesTest#testWaitOperationOnGetAllForCloseOrDestroy*
fails because the asynchronous partition creation code (on line 582) can
execute after the call of
*org.apache.ignite.internal.storage.util.MvPartitionStorages#getAllForCloseOrDestroy*
(on line 615). In which, for partitions that are not created, we mark them as
closed immediately.
We can fix it, for example, by waiting until the partition creation starts.
StackTrace:
{noformat}
java.lang.AssertionError: java.util.concurrent.ExecutionException:
org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:83)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
at
org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.testWaitOperationOnGetAllForCloseOrDestroy(MvPartitionStoragesTest.java:622)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Caused by: java.util.concurrent.ExecutionException:
org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
at
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022)
at
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
... 8 more
Caused by: org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
closing: [tableId=0, partitionId=0]
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.throwExceptionDependingOnOperation(MvPartitionStorages.java:404)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.lambda$create$0(MvPartitionStorages.java:110)
at
[email protected]/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStorages.create(MvPartitionStorages.java:94)
at
app//org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.lambda$testWaitOperationOnGetAllForCloseOrDestroy$74(MvPartitionStoragesTest.java:582)
at
app//org.apache.ignite.internal.testframework.IgniteTestUtils.lambda$runAsync$1(IgniteTestUtils.java:504)
at [email protected]/java.lang.Thread.run(Thread.java:834)
{noformat}
> Fix flaky MvPartitionStoragesTest#testWaitOperationOnGetAllForCloseOrDestroy
> ----------------------------------------------------------------------------
>
> Key: IGNITE-23047
> URL: https://issues.apache.org/jira/browse/IGNITE-23047
> Project: Ignite
> Issue Type: Bug
> Reporter: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
>
> *org.apache.ignite.internal.storage.util.MvPartitionStoragesTest#testWaitOperationOnGetAllForCloseOrDestroy*
> fails because the asynchronous partition creation code (on line 582) can
> execute after the call of
> *org.apache.ignite.internal.storage.util.MvPartitionStorages#getAllForCloseOrDestroy*
> (on line 615). In which, for partitions that are not created, we mark them
> as closed immediately.
> We can fix it, for example, by waiting until the partition creation starts.
> *StackTrace:*
> {noformat}
> java.lang.AssertionError: java.util.concurrent.ExecutionException:
> org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
> TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
> closing: [tableId=0, partitionId=0]
> at
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
> at
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
> at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:83)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
> at
> org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.testWaitOperationOnGetAllForCloseOrDestroy(MvPartitionStoragesTest.java:622)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> Caused by: java.util.concurrent.ExecutionException:
> org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
> TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
> closing: [tableId=0, partitionId=0]
> at
> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> at
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022)
> at
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
> ... 8 more
> Caused by: org.apache.ignite.internal.storage.StorageException: IGN-STORAGE-1
> TraceId:a3dd7fbe-45d0-489e-90e4-c7a6c64e692e Storage is in the process of
> closing: [tableId=0, partitionId=0]
> at
> app//org.apache.ignite.internal.storage.util.MvPartitionStorages.throwExceptionDependingOnOperation(MvPartitionStorages.java:404)
> at
> app//org.apache.ignite.internal.storage.util.MvPartitionStorages.lambda$create$0(MvPartitionStorages.java:110)
> at
> [email protected]/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932)
> at
> app//org.apache.ignite.internal.storage.util.MvPartitionStorages.create(MvPartitionStorages.java:94)
> at
> app//org.apache.ignite.internal.storage.util.MvPartitionStoragesTest.lambda$testWaitOperationOnGetAllForCloseOrDestroy$74(MvPartitionStoragesTest.java:582)
> at
> app//org.apache.ignite.internal.testframework.IgniteTestUtils.lambda$runAsync$1(IgniteTestUtils.java:504)
> at [email protected]/java.lang.Thread.run(Thread.java:834)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)