You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2022/05/23 18:42:14 UTC
[activemq-artemis] 02/07: debug
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch new-paging
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
commit f93fd52753711eb46e46dd7438e09f2ec81f5316
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed May 18 15:37:32 2022 -0400
debug
---
.../core/paging/cursor/impl/PageCursorProviderImpl.java | 14 ++++++++++++--
.../activemq/artemis/core/paging/impl/PagingStoreImpl.java | 3 +++
tests/config/logging.properties | 3 ++-
.../artemis/tests/integration/paging/PagingTest.java | 12 +++++++++---
4 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImpl.java
index 7b2323ed5c..e4948afd8f 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImpl.java
@@ -173,8 +173,10 @@ public class PageCursorProviderImpl implements PageCursorProvider {
@Override
public void scheduleCleanup() {
+ new Exception("Scheduling cleanup").printStackTrace(System.out);
if (!cleanupEnabled || scheduledCleanup.intValue() > 2) {
+ new Exception("cleanup enabled = " + cleanupEnabled + " and scheduledCleanup = " + scheduledCleanup).printStackTrace(System.out);
// Scheduled cleanup was already scheduled before.. never mind!
// or we have cleanup disabled
return;
@@ -263,12 +265,14 @@ public class PageCursorProviderImpl implements PageCursorProvider {
synchronized (this) {
try {
if (!pagingStore.isStarted()) {
+ logger.trace("Paging store is not started");
return;
}
- if (pagingStore.getNumberOfPages() == 0) {
+ /*if (pagingStore.getNumberOfPages() == 0) {
+ logger.trace("number of pages = 0 on pagingStore");
return;
- }
+ } */
ArrayList<PageSubscription> cursorList = cloneSubscriptions();
@@ -284,9 +288,15 @@ public class PageCursorProviderImpl implements PageCursorProvider {
// Then we do some check on eventual pages that can be already removed but they are away from the streaming
cleanupMiddleStream(depagedPages, depagedPagesSet, cursorList, minPage, firstPage);
+ if (pagingStore.getNumberOfPages() < 0) {
+ new Exception("WHAT???").printStackTrace(System.out);
+ }
+
if (pagingStore.getNumberOfPages() == 0 || pagingStore.getNumberOfPages() == 1 && pagingStore.getCurrentPage().getNumberOfMessages() == 0) {
+ new Exception("NumberOfPages = 0").printStackTrace(System.out);
pagingStore.stopPaging();
} else {
+ System.out.println("Could not stop paging because " + pagingStore.getNumberOfPages() + " and current messages = " + pagingStore.getCurrentPage().getNumberOfMessages());
if (logger.isTraceEnabled()) {
logger.trace("Couldn't cleanup page on address " + this.pagingStore.getAddress() + " as numberOfPages == " + pagingStore.getNumberOfPages() + " and currentPage.numberOfMessages = " + pagingStore.getCurrentPage().getNumberOfMessages());
}
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingStoreImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingStoreImpl.java
index e634b51e27..32c1d9641a 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingStoreImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingStoreImpl.java
@@ -532,12 +532,15 @@ public class PagingStoreImpl implements PagingStore {
@Override
public void stopPaging() {
+ new Exception("Stop paging being called with paging = " + this.paging).printStackTrace(System.out);
lock.writeLock().lock();
try {
final boolean isPaging = this.paging;
if (isPaging) {
paging = false;
ActiveMQServerLogger.LOGGER.pageStoreStop(storeName, getPageInfo());
+ } else {
+ new Exception("It was already not paging").printStackTrace(System.out);
}
this.cursorProvider.onPageModeCleared();
} finally {
diff --git a/tests/config/logging.properties b/tests/config/logging.properties
index 6793dc1343..408134fe51 100644
--- a/tests/config/logging.properties
+++ b/tests/config/logging.properties
@@ -17,7 +17,7 @@
# Additional logger names to configure (root logger is always configured)
# Root logger option
-loggers=org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.core.journal,org.apache.activemq.artemis.core.client,org.apache.activemq.artemis.jms,org.apache.activemq.artemis.ra,org.apache.activemq.artemis.tests.smoke,org.apache.activemq.artemis.tests.unit,org.apache.activemq.artemis.tests.integration,org.apache.activemq.artemis.jms.tests,org.apache.activemq.cli.test,org.apache.activemq.audit,org.apache.activemq.audit.message
+loggers=org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.core.journal,org.apache.activemq.artemis.core.client,org.apache.activemq.artemis.jms,org.apache.activemq.artemis.ra,org.apache.activemq.artemis.tests.smoke,org.apache.activemq.artemis.tests.unit,org.apache.activemq.artemis.tests.integration,org.apache.activemq.artemis.jms.tests,org.apache.activemq.cli.test,org.apache.activemq.audit,org.apache.activemq.audit.mess [...]
# Root logger level
logger.level=INFO
@@ -28,6 +28,7 @@ logger.org.apache.activemq.artemis.core.client.level=INFO
logger.org.apache.activemq.artemis.utils.level=INFO
logger.org.apache.activemq.artemis.jms.level=INFO
logger.org.apache.activemq.artemis.ra.level=INFO
+logger.org.apache.activemq.artemis.core.paging.cursor.impl.PageCursorProviderImpl.level=TRACE
logger.org.apache.activemq.cli.test.level=DEBUG
logger.org.apache.activemq.artemis.tests.integration.level=DEBUG
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingTest.java
index 2f92af390b..b33e8e20ad 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingTest.java
@@ -159,7 +159,7 @@ public class PagingTest extends ActiveMQTestBase {
@Parameterized.Parameters(name = "storeType={0}")
public static Collection<Object[]> data() {
- Object[][] params = new Object[][]{{StoreConfiguration.StoreType.FILE}, {StoreConfiguration.StoreType.DATABASE}};
+ Object[][] params = new Object[][]{{StoreConfiguration.StoreType.FILE}};
return Arrays.asList(params);
}
@@ -1386,8 +1386,14 @@ public class PagingTest extends ActiveMQTestBase {
Wait.assertEquals(0, purgeQueue::getMessageCount);
Wait.assertEquals(0, purgeQueue.getPageSubscription().getPagingStore()::getAddressSize);
- PageCursorProviderAccessor.cleanup(purgeQueue.getPagingStore().getCursorProvider());
- Wait.assertFalse(purgeQueue.getPageSubscription()::isPaging, 5000, 100);
+ Thread.sleep(1000);
+ //System.exit(-1);
+ try {
+ Wait.assertFalse(purgeQueue.getPageSubscription()::isPaging, 5000, 100);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ System.exit(-1);
+ }
StorageManager sm = server.getStorageManager();