summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-07-31 13:14:44 +0000
committerRobert Gemmell <robbie@apache.org>2012-07-31 13:14:44 +0000
commitfabdad61ee5e206bfeb5bc8b96d6c1109229a562 (patch)
treee47debee842e61b8172c9c7704d29c75d01cc071
parent660b3224fa533e87828dba175b95835cf5eba9e2 (diff)
downloadqpid-python-fabdad61ee5e206bfeb5bc8b96d6c1109229a562.tar.gz
QPID-4164: only keep a hard reference to the meta data if it has yet to be persisted
merged from trunk r1366339 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1367531 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java5
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java5
2 files changed, 8 insertions, 2 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
index 755cb9c89e..9323111fdd 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
@@ -1594,7 +1594,10 @@ public abstract class AbstractBDBMessageStore implements MessageStore
_messageId = messageId;
_isRecovered = isRecovered;
- _metaData = metaData;
+ if(!_isRecovered)
+ {
+ _metaData = metaData;
+ }
_metaDataRef = new SoftReference<StorableMessageMetaData>(metaData);
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
index bc9cda7f71..154d7e6535 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
@@ -2057,8 +2057,11 @@ public class DerbyMessageStore implements MessageStore
_messageId = messageId;
_isRecovered = isRecovered;
+ if(!_isRecovered)
+ {
+ _metaData = metaData;
+ }
_metaDataRef = new SoftReference<StorableMessageMetaData>(metaData);
- _metaData = metaData;
}
@Override