You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cs...@apache.org on 2016/04/12 15:32:45 UTC
[3/4] activemq git commit:
https://issues.apache.org/jira/browse/AMQ-6203
https://issues.apache.org/jira/browse/AMQ-6203
Adding a flag to enable or disable Ack Compaction
Currently defaults to enabled for 5.14.0 and above
(cherry picked from commit cbad8babe507f63cc80e42fe37070b898d4d8dbc)
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/b8ac1b4c
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/b8ac1b4c
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/b8ac1b4c
Branch: refs/heads/activemq-5.13.x
Commit: b8ac1b4c561da2087d923c3a32e9bc2624c508ea
Parents: 72eecbe
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Authored: Tue Apr 12 13:30:10 2016 +0000
Committer: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Committed: Tue Apr 12 13:31:35 2016 +0000
----------------------------------------------------------------------
.../store/kahadb/KahaDBPersistenceAdapter.java | 18 +++++++++++++++++
.../activemq/store/kahadb/MessageDatabase.java | 21 +++++++++++++++++++-
2 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/b8ac1b4c/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
----------------------------------------------------------------------
diff --git a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
index b6b2ca7..21cac0a 100644
--- a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
+++ b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
@@ -669,6 +669,24 @@ public class KahaDBPersistenceAdapter extends LockableServiceSupport implements
this.letter.setCompactAcksIgnoresStoreGrowth(compactAcksIgnoresStoreGrowth);
}
+ /**
+ * Returns whether Ack compaction is enabled
+ *
+ * @return enableAckCompaction
+ */
+ public boolean isEnableAckCompaction() {
+ return letter.isEnableAckCompaction();
+ }
+
+ /**
+ * Configure if the Ack compaction task should be enabled to run
+ *
+ * @param enableAckCompaction
+ */
+ public void setEnableAckCompaction(boolean enableAckCompaction) {
+ letter.setEnableAckCompaction(enableAckCompaction);
+ }
+
public KahaDBStore getStore() {
return letter;
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/b8ac1b4c/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 434e49c..8bb9491 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
@@ -274,6 +274,7 @@ public abstract class MessageDatabase extends ServiceSupport implements BrokerSe
private boolean enableIndexPageCaching = true;
ReentrantReadWriteLock checkpointLock = new ReentrantReadWriteLock();
+ private boolean enableAckCompaction = true;
private int compactAcksAfterNoGC = 10;
private boolean compactAcksIgnoresStoreGrowth = false;
private int checkPointCyclesWithNoGC;
@@ -1817,7 +1818,7 @@ public abstract class MessageDatabase extends ServiceSupport implements BrokerSe
if (ackMessageFileMapMod) {
checkpointUpdate(tx, false);
}
- } else {
+ } else if (isEnableAckCompaction()) {
if (++checkPointCyclesWithNoGC >= getCompactAcksAfterNoGC()) {
// First check length of journal to make sure it makes sense to even try.
//
@@ -3671,4 +3672,22 @@ public abstract class MessageDatabase extends ServiceSupport implements BrokerSe
public void setCompactAcksIgnoresStoreGrowth(boolean compactAcksIgnoresStoreGrowth) {
this.compactAcksIgnoresStoreGrowth = compactAcksIgnoresStoreGrowth;
}
+
+ /**
+ * Returns whether Ack compaction is enabled
+ *
+ * @return enableAckCompaction
+ */
+ public boolean isEnableAckCompaction() {
+ return enableAckCompaction;
+ }
+
+ /**
+ * Configure if the Ack compaction task should be enabled to run
+ *
+ * @param enableAckCompaction
+ */
+ public void setEnableAckCompaction(boolean enableAckCompaction) {
+ this.enableAckCompaction = enableAckCompaction;
+ }
}