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();