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


Reply via email to