You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2020/10/08 08:03:43 UTC

[qpid-broker-j] 02/02: QPID-8469: [Broker-J][Message Store] The message is already cleaned when the delete listener is called

This is an automated email from the ASF dual-hosted git repository.

orudyy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit 4f861571ee0107b9f30945e5728492385c3510e3
Author: overmeulen <ov...@murex.com>
AuthorDate: Thu Sep 24 14:15:23 2020 +0200

    QPID-8469: [Broker-J][Message Store] The message is already cleaned when the delete listener is called
---
 .../server/store/berkeleydb/AbstractBDBMessageStore.java   | 14 +++++++-------
 .../org/apache/qpid/server/store/MemoryMessageStore.java   |  6 +++---
 .../qpid/server/store/jdbc/AbstractJDBCMessageStore.java   | 14 +++++++-------
 3 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
index 192feda..94d6fb1 100644
--- a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
+++ b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
@@ -1217,6 +1217,13 @@ public abstract class AbstractBDBMessageStore implements MessageStore
                 removeMessage(_messageId, false);
                 storedSizeChangeOccurred(-getContentSize());
             }
+            if (!_messageDeleteListeners.isEmpty())
+            {
+                for (final MessageDeleteListener messageDeleteListener : _messageDeleteListeners)
+                {
+                    messageDeleteListener.messageDeleted(this);
+                }
+            }
 
             final T metaData;
             long bytesCleared = 0;
@@ -1236,13 +1243,6 @@ public abstract class AbstractBDBMessageStore implements MessageStore
             }
             _messageDataRef = null;
             _inMemorySize.addAndGet(-bytesCleared);
-            if (!_messageDeleteListeners.isEmpty())
-            {
-                for (final MessageDeleteListener messageDeleteListener : _messageDeleteListeners)
-                {
-                    messageDeleteListener.messageDeleted(this);
-                }
-            }
         }
 
         @Override
diff --git a/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java b/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
index 668fa2f..657be12 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
@@ -311,9 +311,6 @@ public class MemoryMessageStore implements MessageStore
             public void remove()
             {
                 _messages.remove(getMessageNumber());
-                int bytesCleared = metaData.getStorableSize() + metaData.getContentSize();
-                super.remove();
-                _inMemorySize.addAndGet(-bytesCleared);
                 if (!_messageDeleteListeners.isEmpty())
                 {
                     for (final MessageDeleteListener messageDeleteListener : _messageDeleteListeners)
@@ -321,6 +318,9 @@ public class MemoryMessageStore implements MessageStore
                         messageDeleteListener.messageDeleted(this);
                     }
                 }
+                int bytesCleared = metaData.getStorableSize() + metaData.getContentSize();
+                super.remove();
+                _inMemorySize.addAndGet(-bytesCleared);
             }
         };
         _messages.put(storedMemoryMessage.getMessageNumber(), storedMemoryMessage);
diff --git a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
index 21c7d87..7b405d4 100644
--- a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
+++ b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java
@@ -1678,6 +1678,13 @@ public abstract class AbstractJDBCMessageStore implements MessageStore
                 AbstractJDBCMessageStore.this.removeMessageAsync(_messageId);
                 storedSizeChange(-getContentSize());
             }
+            if (!_messageDeleteListeners.isEmpty())
+            {
+                for (final MessageDeleteListener messageDeleteListener : _messageDeleteListeners)
+                {
+                    messageDeleteListener.messageDeleted(this);
+                }
+            }
 
             final T metaData;
             long bytesCleared = 0;
@@ -1697,13 +1704,6 @@ public abstract class AbstractJDBCMessageStore implements MessageStore
             }
             _messageDataRef = null;
             _inMemorySize.addAndGet(-bytesCleared);
-            if (!_messageDeleteListeners.isEmpty())
-            {
-                for (final MessageDeleteListener messageDeleteListener : _messageDeleteListeners)
-                {
-                    messageDeleteListener.messageDeleted(this);
-                }
-            }
         }
 
         @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org