This is an automated email from the ASF dual-hosted git repository.
jbertram pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 5e99516a27 NO-JIRA Fix PagingStoreImplTest#testBlockUnblock random
failure
5e99516a27 is described below
commit 5e99516a27f2fff55355006641c1059ffba350cd
Author: Howard Gao <[email protected]>
AuthorDate: Mon Jan 22 21:57:32 2024 +0800
NO-JIRA Fix PagingStoreImplTest#testBlockUnblock random failure
PagingStroeImpl.checkReleasedMemory() will kick off
executor.execute(this::memoryReleased) to pull from the queue
onMemoryFreedRunnables
asynchronously. If the executor fires the task too late, it can pick up one
of the
late trackMemoryChecks runnable and increase its calls, making assertion
fail.
need to flush the executors to make sure it doesn't happen.
---
.../artemis/tests/unit/core/paging/impl/PagingStoreImplTest.java | 3 +++
1 file changed, 3 insertions(+)
diff --git
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/paging/impl/PagingStoreImplTest.java
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/paging/impl/PagingStoreImplTest.java
index 3c0835fa3c..f75fb75940 100644
---
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/paging/impl/PagingStoreImplTest.java
+++
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/paging/impl/PagingStoreImplTest.java
@@ -1252,6 +1252,7 @@ public class PagingStoreImplTest extends ActiveMQTestBase
{
};
store.applySetting(new
AddressSettings().setMaxSizeBytes(1000).setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK));
store.addSize(100);
+ store.flushExecutors();
store.checkMemory(trackMemoryChecks, null);
assertEquals(1, calls.get());
@@ -1270,6 +1271,7 @@ public class PagingStoreImplTest extends ActiveMQTestBase
{
store.addSize(900);
assertEquals(100, store.getAddressLimitPercent());
+ store.flushExecutors();
// address full blocks
store.checkMemory(trackMemoryChecks, null);
@@ -1285,6 +1287,7 @@ public class PagingStoreImplTest extends ActiveMQTestBase
{
assertEquals(2, calls.get());
store.unblock();
+ store.flushExecutors();
// now released
assertTrue(Wait.waitFor(new Wait.Condition() {