Author: mreutegg
Date: Mon May  5 15:50:13 2014
New Revision: 1592560

URL: http://svn.apache.org/r1592560
Log:
OAK-1793: MongoMK GC removes documents with data still in use

Modified:
    jackrabbit/oak/branches/1.0/   (props changed)
    
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
    
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java

Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/trunk:r1592512

Modified: 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java?rev=1592560&r1=1592559&r2=1592560&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
 Mon May  5 15:50:13 2014
@@ -20,7 +20,7 @@
 package org.apache.jackrabbit.oak.plugins.document;
 
 import java.util.ArrayList;
-import java.util.EnumSet;
+import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
@@ -43,11 +43,10 @@ public class VersionGarbageCollector {
 
     /**
      * Split document types which can be safely Garbage Collected
+     * OAK-1793: SplitDocType.DEFAULT_NO_CHILD and 
SplitDocType.PROP_COMMIT_ONLY
+     * have been removed, but should be added again when OAK-1794 is fixed.
      */
-    private static final Set<NodeDocument.SplitDocType> GC_TYPES = EnumSet.of(
-            NodeDocument.SplitDocType.DEFAULT_NO_CHILD,
-            NodeDocument.SplitDocType.PROP_COMMIT_ONLY);
-
+    private static final Set<NodeDocument.SplitDocType> GC_TYPES = 
Collections.emptySet();
 
     VersionGarbageCollector(DocumentNodeStore nodeStore) {
         this.nodeStore = nodeStore;

Modified: 
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java?rev=1592560&r1=1592559&r2=1592560&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java
 Mon May  5 15:50:13 2014
@@ -167,6 +167,7 @@ public class VersionGarbageCollectorTest
 
     }
 
+    @Ignore("OAK-1794")
     @Test
     public void gcSplitDocs() throws Exception{
         long maxAge = 1; //hrs
@@ -216,6 +217,7 @@ public class VersionGarbageCollectorTest
     }
 
     // OAK-1729
+    @Ignore("OAK-1794")
     @Test
     public void gcIntermediateDocs() throws Exception {
         long maxAge = 1; //hrs
@@ -300,7 +302,6 @@ public class VersionGarbageCollectorTest
     }
 
     // OAK-1793
-    @Ignore
     @Test
     public void gcPrevWithMostRecentModification() throws Exception {
         long maxAge = 1; //hrs
@@ -318,7 +319,8 @@ public class VersionGarbageCollectorTest
         clock.waitUntil(clock.getTime() + TimeUnit.HOURS.toMillis(maxAge) + 
delta);
 
         VersionGCStats stats = gc.gc(maxAge, TimeUnit.HOURS);
-        assertEquals(2, stats.splitDocGCCount);
+        // TODO: uncomment once OAK-1794 is fixed
+        // assertEquals(2, stats.splitDocGCCount);
 
         NodeDocument doc = getDoc("/foo");
         assertNotNull(doc);


Reply via email to