From 6a98ca670179201956853fa112502fa07b01c614 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Fri, 27 Jul 2012 11:19:01 +0000 Subject: QPID-4164: only keep a hard reference to the meta data if it has yet to be persisted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1366339 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java | 5 ++++- .../java/org/apache/qpid/server/store/derby/DerbyMessageStore.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'java') diff --git a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java index 755cb9c89e..9323111fdd 100644 --- a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java +++ b/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(metaData); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java index bc9cda7f71..154d7e6535 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java +++ b/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(metaData); - _metaData = metaData; } @Override -- cgit v1.2.1