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