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 21:52:06 UTC

[qpid-broker-j] branch 8.0.x updated (d6dcd62 -> 3f63055)

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

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


    from d6dcd62  QPID-8471:[Broker-J] Added PDF support and column spec changes
     new 7de904b  QPID-8472:[Broker-J]Improve operational logging for operations on queue
     new dde463a  QPID-8469: [Broker-J][Message Store] The message is already cleaned when the delete listener is called
     new 3f63055  QPID-8470: Added retrying logic for storing metadata

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] 01/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 8.0.x
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit 7de904bc5d4ceff419c7e0598e83d95a36a12e13
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 543ad1f..92cad5a 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
@@ -1826,7 +1826,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
         }
 
         txn.commit();
-
+        logOperation(String.format("clearQueue : %s: %d", getName(), count));
         return count;
     }
 
@@ -3508,6 +3508,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();
 
     }
@@ -3521,6 +3525,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();
 
     }
@@ -3533,7 +3541,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


[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 8.0.x
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit dde463aa328745b755bf28698d1948c44aca0401
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
    
    This closes #60
---
 .../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 57b1856..867a2a1 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
@@ -1205,6 +1205,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;
@@ -1224,13 +1231,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] 03/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 8.0.x
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit 3f6305503b9b29da54cef31c0c8e4aa2b09e61a9
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 867a2a1..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
@@ -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