a bit of defensive programming in the case of negative reference values

This commit is contained in:
chris-lumigrow
2016-11-10 14:19:43 -08:00
parent 2bc5df8703
commit 9c62e3d05c
@@ -110,7 +110,10 @@ class MapDBMessagesStore implements IMessagesStore {
void removeStoredMessage(MessageGUID guid) {
//remove only the not retained and no more referenced
StoredMessage storedMessage = m_persistentMessageStore.get(guid);
if (!storedMessage.isRetained() && storedMessage.getReferenceCounter() == 0) {
if (!storedMessage.isRetained() && storedMessage.getReferenceCounter() <= 0) {
if(storedMessage.getReferenceCounter() < 0) {
LOG.error("we should never have gotten a reference count less than zero");
}
LOG.debug("Cleaning not retained message guid {}", guid);
m_persistentMessageStore.remove(guid);
}