Author: amitj
Date: Fri Feb 13 05:21:03 2015
New Revision: 1659458
URL: http://svn.apache.org/r1659458
Log:
OAK-2514: Shared DataStore GC framework support
MBean changes to add a boolean parameter 'markOnly' to support only marking
without sweeping for DataStore GC
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java?rev=1659458&r1=1659457&r2=1659458&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.java
Fri Feb 13 05:21:03 2015
@@ -130,10 +130,11 @@ public interface RepositoryManagementMBe
/**
* Initiate a data store garbage collection operation
*
+ * @param markOnly whether to only mark references and not sweep in the
mark and sweep operation.
* @return the status of the operation right after it was initiated
*/
@Nonnull
- CompositeData startDataStoreGC();
+ CompositeData startDataStoreGC(boolean markOnly);
/**
* Data store garbage collection status
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java?rev=1659458&r1=1659457&r2=1659458&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
Fri Feb 13 05:21:03 2015
@@ -123,12 +123,12 @@ public class RepositoryManager implement
}
@Override
- public CompositeData startDataStoreGC() {
+ public CompositeData startDataStoreGC(final boolean markOnly) {
return execute(BlobGCMBean.class, new Function<BlobGCMBean, Status>() {
@Nonnull
@Override
public Status apply(BlobGCMBean blobGCService) {
- return fromCompositeData(blobGCService.startBlobGC());
+ return fromCompositeData(blobGCService.startBlobGC(markOnly));
}
}).toCompositeData();
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java?rev=1659458&r1=1659457&r2=1659458&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
Fri Feb 13 05:21:03 2015
@@ -61,13 +61,13 @@ public class BlobGC implements BlobGCMBe
@Nonnull
@Override
- public CompositeData startBlobGC() {
+ public CompositeData startBlobGC(final boolean markOnly) {
if (gcOp.isDone()) {
gcOp = newManagementOperation(OP_NAME, new Callable<String>() {
@Override
public String call() throws Exception {
long t0 = nanoTime();
- blobGarbageCollector.collectGarbage();
+ blobGarbageCollector.collectGarbage(markOnly);
return "Blob gc completed in " + formatTime(nanoTime() -
t0);
}
});
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean.java?rev=1659458&r1=1659457&r2=1659458&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean.java
Fri Feb 13 05:21:03 2015
@@ -32,12 +32,12 @@ public interface BlobGCMBean {
String TYPE = "BlobGarbageCollection";
/**
- * Initiate a data store garbage collection operation
+ * Initiate a data store garbage collection operation.
*
+ * @param markOnly whether to only mark references and not sweep in the
mark and sweep operation.
* @return the status of the operation right after it was initiated
*/
- @Nonnull
- CompositeData startBlobGC();
+ CompositeData startBlobGC(boolean markOnly);
/**
* Data store garbage collection status