From 4afcf2e4a4cc005347636c52bcf96ba78f980da4 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Fri, 11 Mar 2016 10:13:35 +0000 Subject: [PATCH] Added logging to track down deletion bug. --- .../clients/MessageQueueManagerImpl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/briar-core/src/org/briarproject/clients/MessageQueueManagerImpl.java b/briar-core/src/org/briarproject/clients/MessageQueueManagerImpl.java index 2ff63133a3..5dadef907e 100644 --- a/briar-core/src/org/briarproject/clients/MessageQueueManagerImpl.java +++ b/briar-core/src/org/briarproject/clients/MessageQueueManagerImpl.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import javax.inject.Inject; +import static java.util.logging.Level.INFO; import static org.briarproject.api.clients.QueueMessage.QUEUE_MESSAGE_HEADER_LENGTH; import static org.briarproject.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH; @@ -179,6 +180,11 @@ class MessageQueueManagerImpl implements MessageQueueManager { long queuePosition = ByteUtils.readUint64(m.getRaw(), MESSAGE_HEADER_LENGTH); QueueState queueState = loadQueueState(txn, m.getGroupId()); + if (LOG.isLoggable(INFO)) { + LOG.info("Received message with position " + + queuePosition + ", expecting " + + queueState.incomingPosition); + } if (queuePosition < queueState.incomingPosition) { // A message with this queue position has already been seen LOG.warning("Deleting message with duplicate position"); @@ -186,10 +192,12 @@ class MessageQueueManagerImpl implements MessageQueueManager { db.deleteMessageMetadata(txn, m.getId()); } else if (queuePosition > queueState.incomingPosition) { // The message is out of order, add it to the pending list + LOG.info("Message is out of order, adding to pending list"); queueState.pending.put(queuePosition, m.getId()); saveQueueState(txn, m.getGroupId(), queueState); } else { // The message is in order, pass it to the delegate + LOG.info("Message is in order, delivering"); QueueMessage q = new QueueMessage(m.getId(), m.getGroupId(), m.getTimestamp(), queuePosition, m.getRaw()); delegate.incomingMessage(txn, q, meta); @@ -200,6 +208,10 @@ class MessageQueueManagerImpl implements MessageQueueManager { byte[] raw = db.getRawMessage(txn, id); meta = db.getMessageMetadata(txn, id); q = queueMessageFactory.createMessage(id, raw); + if (LOG.isLoggable(INFO)) { + LOG.info("Delivering pending message with position " + + q.getQueuePosition()); + } delegate.incomingMessage(txn, q, meta); } saveQueueState(txn, m.getGroupId(), queueState); -- GitLab