You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2014/08/22 15:58:48 UTC
svn commit: r1619808 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment:
SegmentNodeStoreService.java file/FileStore.java
Author: alexparvulescu
Date: Fri Aug 22 13:58:47 2014
New Revision: 1619808
URL: http://svn.apache.org/r1619808
Log:
OAK-2019 Compact only if needed
- exposed pause flag via OSGi config
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java?rev=1619808&r1=1619807&r2=1619808&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java Fri Aug 22 13:58:47 2014
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.segment;
import static com.google.common.base.Preconditions.checkState;
+import static org.apache.jackrabbit.oak.commons.PropertiesUtil.toBoolean;
import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
import java.io.Closeable;
@@ -79,6 +80,9 @@ public class SegmentNodeStoreService ext
@Property(description="Cache size (MB)", intValue=256)
public static final String CACHE = "cache";
+ @Property(description = "TarMK compaction paused flag", boolValue = true)
+ public static final String PAUSE_COMPACTION = "pauseCompaction";
+
/**
* Boolean value indicating a blobStore is to be used
*/
@@ -152,20 +156,18 @@ public class SegmentNodeStoreService ext
size = System.getProperty(SIZE, "256");
}
+ boolean pauseCompaction = toBoolean(lookup(context, PAUSE_COMPACTION), true);
boolean memoryMapping = "64".equals(mode);
if (customBlobStore) {
log.info("Initializing SegmentNodeStore with BlobStore [{}]", blobStore);
- store = new FileStore(
- blobStore,
- new File(directory),
- Integer.parseInt(size), memoryMapping);
+ store = new FileStore(blobStore, new File(directory),
+ Integer.parseInt(size), memoryMapping)
+ .setPauseCompaction(pauseCompaction);
} else {
- store = new FileStore(
- new File(directory),
- Integer.parseInt(size), memoryMapping);
+ store = new FileStore(new File(directory), Integer.parseInt(size),
+ memoryMapping).setPauseCompaction(pauseCompaction);
}
-
delegate = new SegmentNodeStore(store);
observerTracker = new ObserverTracker(delegate);
observerTracker.start(context.getBundleContext());
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java?rev=1619808&r1=1619807&r2=1619808&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java Fri Aug 22 13:58:47 2014
@@ -709,8 +709,8 @@ public class FileStore implements Segmen
return index;
}
- public void setPauseCompaction(boolean pauseCompaction) {
+ public FileStore setPauseCompaction(boolean pauseCompaction) {
this.pauseCompaction = pauseCompaction;
+ return this;
}
-
}