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 22:40:30 UTC

[qpid-broker-j] branch 7.1.x updated (5b9553e -> d9914f0)

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

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


    from 5b9553e  QPID-8471:[Broker-J] Added PDF support and column spec changes
     new 1b19891  QPID-8470: Added retrying logic for storing metadata
     new e02e7fb  QPID-8469: [Broker-J][Message Store] The message is already cleaned when the delete listener is called
     new d9914f0  QPID-8472:[Broker-J]Improve operational logging for operations on queue

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../store/berkeleydb/AbstractBDBMessageStore.java  | 52 +++++++++++++---------
 .../apache/qpid/server/queue/AbstractQueue.java    | 14 +++++-
 .../qpid/server/store/MemoryMessageStore.java      |  6 +--
 .../store/jdbc/AbstractJDBCMessageStore.java       | 14 +++---
 4 files changed, 54 insertions(+), 32 deletions(-)


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


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

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit e02e7fb712469fa7d9f0fa78272835cb0bf4e4b8
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


[qpid-broker-j] 01/03: QPID-8470: Added retrying logic for storing metadata

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1b1989118c14431165f70ca70cc9829a03715dca
Author: aw924 <da...@deutsche-boerse.com>
AuthorDate: Fri Sep 25 11:23:03 2020 +0200

    QPID-8470: Added retrying logic for storing metadata
---
 .../store/berkeleydb/AbstractBDBMessageStore.java  | 38 ++++++++++++++--------
 1 file changed, 25 insertions(+), 13 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 57b1856..192feda 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
@@ -573,12 +573,11 @@ public abstract class AbstractBDBMessageStore implements MessageStore
      *
      * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist.
      */
-    private void storeMetaData(final Transaction tx, long messageId,
-                               StorableMessageMetaData messageMetaData)
+    private void storeMetaData(final Transaction tx, long messageId, StorableMessageMetaData messageMetaData)
             throws StoreException
     {
         getLogger().debug("storeMetaData called for transaction {}, messageId {}, messageMetaData {} ",
-                          tx, messageId, messageMetaData);
+                tx, messageId, messageMetaData);
 
         DatabaseEntry key = new DatabaseEntry();
         LongBinding.longToEntry(messageId, key);
@@ -586,19 +585,32 @@ public abstract class AbstractBDBMessageStore implements MessageStore
 
         MessageMetaDataBinding messageBinding = MessageMetaDataBinding.getInstance();
         messageBinding.objectToEntry(messageMetaData, value);
-        try
-        {
-            getMessageMetaDataDb().put(tx, key, value);
-            getLogger().debug("Storing message metadata for message id {} in transaction {}", messageId, tx);
 
-        }
-        catch (RuntimeException e)
+        boolean complete = false;
+        int attempts = 0;
+
+        do
         {
-            throw getEnvironmentFacade().handleDatabaseException("Error writing message metadata with id "
-                                                                 + messageId
-                                                                 + " to database: "
-                                                                 + e.getMessage(), e);
+            try
+            {
+                getMessageMetaDataDb().put(tx, key, value);
+                getLogger().debug("Storing message metadata for message id {} in transaction {}", messageId, tx);
+                complete = true;
+
+            }
+            catch (LockConflictException e)
+            {
+                sleepOrThrowOnLockConflict(attempts++, "Cannot store metadata", e);
+            }
+            catch (RuntimeException e)
+            {
+                throw getEnvironmentFacade().handleDatabaseException("Error writing message metadata with id "
+                        + messageId
+                        + " to database: "
+                        + e.getMessage(), e);
+            }
         }
+        while(!complete);
     }
 
 


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


[qpid-broker-j] 03/03: QPID-8472:[Broker-J]Improve operational logging for operations on queue

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d9914f064528ba595dbf71fd9c9c1ec3b78ad6f5
Author: Dedeepya T <de...@yahoo.co.in>
AuthorDate: Mon Oct 5 14:23:07 2020 +0530

    QPID-8472:[Broker-J]Improve operational logging for operations on queue
---
 .../java/org/apache/qpid/server/queue/AbstractQueue.java   | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
index 4382249..3bf3205 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
@@ -1754,7 +1754,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
         }
 
         txn.commit();
-
+        logOperation(String.format("clearQueue : %s: %d", getName(), count));
         return count;
     }
 
@@ -3430,6 +3430,10 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
                                                                           parseSelector(selector),
                                                                           limit);
         _virtualHost.executeTransaction(transaction);
+        logOperation(String.format("moveMessages : %s: %s: %d",
+                                   getName(),
+                                   destination.getName(),
+                                   transaction.getModifiedMessageIds().size()));
         return transaction.getModifiedMessageIds();
 
     }
@@ -3443,6 +3447,10 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
                                                                           parseSelector(selector),
                                                                           limit);
         _virtualHost.executeTransaction(transaction);
+        logOperation(String.format("copyMessages : %s: %s: %d",
+                                   getName(),
+                                   destination.getName(),
+                                   transaction.getModifiedMessageIds().size()));
         return transaction.getModifiedMessageIds();
 
     }
@@ -3455,7 +3463,9 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
                                                                               parseSelector(selector),
                                                                               limit);
         _virtualHost.executeTransaction(transaction);
-
+        logOperation(String.format("deleteMessages : %s: %d",
+                                   getName(),
+                                   transaction.getModifiedMessageIds().size()));
         return transaction.getModifiedMessageIds();
     }
 


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