Author: catholicon
Date: Wed Nov 16 15:43:09 2016
New Revision: 1770004

URL: http://svn.apache.org/viewvc?rev=1770004&view=rev
Log:
OAK-5119: JourncalGarbageCollector: journalGcBatchSize configuration is 
irrelevant post implementation tasks of bulk remove support in DocumentStore

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalGarbageCollector.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalGCTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java?rev=1770004&r1=1770003&r2=1770004&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
 Wed Nov 16 15:43:09 2016
@@ -243,19 +243,6 @@ public class DocumentNodeStoreService {
     )
     private static final String PROP_JOURNAL_GC_MAX_AGE_MILLIS = 
"journalGCMaxAge";
 
-    /**
-     * Batch size used during to lookup and delete journal entries during 
journalGC
-     */
-    private static final int DEFAULT_JOURNAL_GC_BATCH_SIZE = 100;
-    @Property (intValue = DEFAULT_JOURNAL_GC_BATCH_SIZE,
-            label = "Batch size used for journalGC",
-            description = "The journal gc queries the journal for entries 
older than configured to delete them. " +
-                    "It does so in batches to speed up the process. The batch 
size can be configured via this " +
-                    " property. The trade-off is between reducing number of 
operations with a larger batch size, " +
-                    " and consuming more memory less memory with a smaller 
batch size."
-    )
-    public static final String PROP_JOURNAL_GC_BATCH_SIZE = 
"journalGcBatchSize";
-
     @Property (boolValue = false,
             label = "Pre-fetch external changes",
             description = "Boolean value indicating if external changes should 
" +
@@ -872,14 +859,12 @@ public class DocumentNodeStoreService {
                 DEFAULT_JOURNAL_GC_INTERVAL_MILLIS);
         final long journalGCMaxAge = 
toLong(context.getProperties().get(PROP_JOURNAL_GC_MAX_AGE_MILLIS),
                 DEFAULT_JOURNAL_GC_MAX_AGE_MILLIS);
-        final int journalGCBatchSize = 
toInteger(context.getProperties().get(PROP_JOURNAL_GC_BATCH_SIZE),
-                DEFAULT_JOURNAL_GC_BATCH_SIZE);
-        
+
         Runnable journalGCJob = new Runnable() {
 
             @Override
             public void run() {
-                nodeStore.getJournalGarbageCollector().gc(journalGCMaxAge, 
TimeUnit.MILLISECONDS, journalGCBatchSize);
+                nodeStore.getJournalGarbageCollector().gc(journalGCMaxAge, 
TimeUnit.MILLISECONDS);
             }
 
         };

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalGarbageCollector.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalGarbageCollector.java?rev=1770004&r1=1770003&r2=1770004&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalGarbageCollector.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalGarbageCollector.java
 Wed Nov 16 15:43:09 2016
@@ -70,10 +70,9 @@ public class JournalGarbageCollector {
      *
      * @param maxRevisionAge entries older than this age will be removed
      * @param unit           the {@linkplain TimeUnit} for maxRevisionAge
-     * @param batchSize      size of batch for removal
      * @return the number of entries that have been removed
      */
-    public int gc(long maxRevisionAge, TimeUnit unit, int batchSize) {
+    public int gc(long maxRevisionAge, TimeUnit unit) {
         DocumentStore ds = ns.getDocumentStore();
         Revision keep = ns.getCheckpoints().getOldestRevisionToKeep();
         long maxRevisionAgeInMillis = unit.toMillis(maxRevisionAge);
@@ -85,8 +84,8 @@ public class JournalGarbageCollector {
                     keep, unit.toMinutes(maxRevisionAge));
         }
         if (log.isDebugEnabled()) {
-            log.debug("gc: Journal garbage collection starts with maxAge: {} 
min., batch size: {}.", 
-                    TimeUnit.MILLISECONDS.toMinutes(maxRevisionAgeInMillis), 
batchSize);
+            log.debug("gc: Journal garbage collection starts with maxAge: {} 
min.",
+                    TimeUnit.MILLISECONDS.toMinutes(maxRevisionAgeInMillis));
         }
         Stopwatch sw = Stopwatch.createStarted();
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalGCTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalGCTest.java?rev=1770004&r1=1770003&r2=1770004&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalGCTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalGCTest.java
 Wed Nov 16 15:43:09 2016
@@ -62,7 +62,7 @@ public class JournalGCTest {
         c.waitUntil(c.getTime() + TimeUnit.HOURS.toMillis(2));
 
         // instruct journal collector to remove entries older than one hour
-        ns.getJournalGarbageCollector().gc(1, TimeUnit.HOURS, 10);
+        ns.getJournalGarbageCollector().gc(1, TimeUnit.HOURS);
 
         // must not remove existing entry, because checkpoint is still valid
         entry = ns.getDocumentStore().find(JOURNAL, JournalEntry.asId(head));
@@ -70,7 +70,7 @@ public class JournalGCTest {
 
         ns.release(cp);
 
-        ns.getJournalGarbageCollector().gc(1, TimeUnit.HOURS, 10);
+        ns.getJournalGarbageCollector().gc(1, TimeUnit.HOURS);
         // now journal GC can remove the entry
         entry = ns.getDocumentStore().find(JOURNAL, JournalEntry.asId(head));
         assertNull(entry);
@@ -91,7 +91,7 @@ public class JournalGCTest {
         ns.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
         ns.runBackgroundOperations();
 
-        assertEquals(0, jgc.gc(1, TimeUnit.HOURS, 10));
+        assertEquals(0, jgc.gc(1, TimeUnit.HOURS));
 
         // current time, but without the increment done by getTime()
         long now = c.getTime() - 1;
@@ -105,7 +105,7 @@ public class JournalGCTest {
         // must collect all journal entries. the first created when
         // DocumentNodeStore was initialized and the second created
         // by the background update
-        assertEquals(2, jgc.gc(1, TimeUnit.HOURS, 10));
+        assertEquals(2, jgc.gc(1, TimeUnit.HOURS));
 
         // current time, but without the increment done by getTime()
         now = c.getTime() - 1;

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java?rev=1770004&r1=1770003&r2=1770004&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java
 Wed Nov 16 15:43:09 2016
@@ -186,15 +186,15 @@ public class JournalTest extends Abstrac
         JournalGarbageCollector gc = new JournalGarbageCollector(ns1);
         // first clean up
         Thread.sleep(100); // OAK-2979 : wait 100ms before doing the cleanup
-        gc.gc(1, TimeUnit.MILLISECONDS, 100);
+        gc.gc(1, TimeUnit.MILLISECONDS);
         Thread.sleep(100); // sleep just quickly
-        assertEquals(0, gc.gc(1, TimeUnit.DAYS, 100));
-        assertEquals(0, gc.gc(6, TimeUnit.HOURS, 100));
-        assertEquals(0, gc.gc(1, TimeUnit.HOURS, 100));
-        assertEquals(0, gc.gc(10, TimeUnit.MINUTES, 100));
-        assertEquals(0, gc.gc(1, TimeUnit.MINUTES, 100));
-        assertEquals(0, gc.gc(1, TimeUnit.SECONDS, 100));
-        assertEquals(0, gc.gc(1, TimeUnit.MILLISECONDS, 100));
+        assertEquals(0, gc.gc(1, TimeUnit.DAYS));
+        assertEquals(0, gc.gc(6, TimeUnit.HOURS));
+        assertEquals(0, gc.gc(1, TimeUnit.HOURS));
+        assertEquals(0, gc.gc(10, TimeUnit.MINUTES));
+        assertEquals(0, gc.gc(1, TimeUnit.MINUTES));
+        assertEquals(0, gc.gc(1, TimeUnit.SECONDS));
+        assertEquals(0, gc.gc(1, TimeUnit.MILLISECONDS));
         
         // create some entries that can be deleted thereupon
         mk1.commit("/", "+\"regular1\": {}", null, null);
@@ -202,16 +202,16 @@ public class JournalTest extends Abstrac
         mk1.commit("/", "+\"regular3\": {}", null, null);
         mk1.commit("/regular2", "+\"regular4\": {}", null, null);
         Thread.sleep(100); // sleep 100millis
-        assertEquals(0, gc.gc(5, TimeUnit.SECONDS, 100));
-        assertEquals(0, gc.gc(1, TimeUnit.MILLISECONDS, 100));
+        assertEquals(0, gc.gc(5, TimeUnit.SECONDS));
+        assertEquals(0, gc.gc(1, TimeUnit.MILLISECONDS));
         ns1.runBackgroundOperations();
         mk1.commit("/", "+\"regular5\": {}", null, null);
         ns1.runBackgroundOperations();
         mk1.commit("/", "+\"regular6\": {}", null, null);
         ns1.runBackgroundOperations();
         Thread.sleep(100); // sleep 100millis
-        assertEquals(0, gc.gc(5, TimeUnit.SECONDS, 100));
-        assertEquals(3, gc.gc(1, TimeUnit.MILLISECONDS, 100));
+        assertEquals(0, gc.gc(5, TimeUnit.SECONDS));
+        assertEquals(3, gc.gc(1, TimeUnit.MILLISECONDS));
     }
     
     @Test

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java?rev=1770004&r1=1770003&r2=1770004&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
 Wed Nov 16 15:43:09 2016
@@ -197,7 +197,7 @@ public class JournalIT extends AbstractJ
         JournalGarbageCollector gc = new JournalGarbageCollector(ns1);
         clock.getTimeIncreasing();
         clock.getTimeIncreasing();
-        gc.gc(0, TimeUnit.MILLISECONDS, 100); // cleanup everything that might 
still be there
+        gc.gc(0, TimeUnit.MILLISECONDS); // cleanup everything that might 
still be there
 
         // create entries as parametrized:
         for(int i=offset; i<size+offset; i++) {
@@ -207,7 +207,7 @@ public class JournalIT extends AbstractJ
             ns1.runBackgroundOperations();
         }
         Thread.sleep(100); // sleep 100millis
-        assertEquals(size, gc.gc(0, TimeUnit.MILLISECONDS, 100)); // should 
now be able to clean up everything
+        assertEquals(size, gc.gc(0, TimeUnit.MILLISECONDS)); // should now be 
able to clean up everything
     }
 
     protected DocumentMK createMK(int clusterId, int asyncDelay) {


Reply via email to