Repository: activemq
Updated Branches:
  refs/heads/activemq-5.14.x b8a7aa80e -> 0a46ffdb5


[AMQ-6644] - ensure journal files past last update are not included in the 
logged gc set in error


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/0bbb82e7
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/0bbb82e7
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/0bbb82e7

Branch: refs/heads/activemq-5.14.x
Commit: 0bbb82e7e50754ca8d710677996b1af06c569887
Parents: b8a7aa8
Author: gtully <[email protected]>
Authored: Tue Apr 4 12:21:31 2017 +0100
Committer: Christopher L. Shannon (cshannon) <[email protected]>
Committed: Tue Apr 11 10:31:25 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/activemq/store/kahadb/MessageDatabase.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/0bbb82e7/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
----------------------------------------------------------------------
diff --git 
a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
 
b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
index d10c064..8d19104 100644
--- 
a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
+++ 
b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
@@ -1733,7 +1733,8 @@ public abstract class MessageDatabase extends 
ServiceSupport implements BrokerSe
             }
 
             if (lastUpdate != null) {
-                gcCandidateSet.remove(lastUpdate.getDataFileId());
+                // we won't delete past the last update, ackCompaction journal 
can be a candidate in error
+                gcCandidateSet.removeAll(new 
TreeSet<Integer>(gcCandidateSet.tailSet(lastUpdate.getDataFileId())));
             }
 
             // Don't GC files under replication

Reply via email to