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 am...@apache.org on 2015/06/10 08:28:04 UTC

svn commit: r1684570 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob: MarkSweepGarbageCollector.java datastore/DataStoreBlobStore.java

Author: amitj
Date: Wed Jun 10 06:28:04 2015
New Revision: 1684570

URL: http://svn.apache.org/r1684570
Log:
OAK-2963: [Blob GC]: Undeleted blobs also being logged in deleted count

Improved logging to indicate count includes newer undeleted blobs
Debug logs for blobs not deleted from data store

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java?rev=1684570&r1=1684569&r2=1684570&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java Wed Jun 10 06:28:04 2015
@@ -183,8 +183,10 @@ public class MarkSweepGarbageCollector i
                 int deleteCount = sweep();
                 threw = false;
 
-                LOG.info("Blob garbage collection completed in {}. Number of blobs "
-                        + "deleted [{}]", sw.toString(), deleteCount);
+                LOG.info(
+                    "Blob garbage collection completed in {}. Number of blobs identified for deletion [{}] (This "
+                        + "includes blobs newer than configured interval [{}] which are ignored for deletion)",
+                    sw.toString(), deleteCount, maxLastModifiedInterval);
             }
         } finally {
             if (!LOG.isTraceEnabled()) {
@@ -287,6 +289,7 @@ public class MarkSweepGarbageCollector i
         try {
             earliestRefAvailTime =
                     GarbageCollectionType.get(blobStore).mergeAllMarkedReferences(blobStore, fs);
+            LOG.debug("Earliest reference available for timestamp [{}]", earliestRefAvailTime);
         } catch (Exception e) {
             return 0;
         }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java?rev=1684570&r1=1684569&r2=1684570&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java Wed Jun 10 06:28:04 2015
@@ -385,8 +385,11 @@ public class DataStoreBlobStore implemen
                 DataRecord dataRecord = delegate.getRecord(identifier);
                 boolean success = (maxLastModifiedTime <= 0)
                         || dataRecord.getLastModified() <= maxLastModifiedTime;
+                log.debug("Deleting blob [{}] with last modified date [{}] : [{}]", blobId,
+                    dataRecord.getLastModified(), success);
                 if (success) {
                     ((MultiDataStoreAware) delegate).deleteRecord(identifier);
+                    log.debug("Deleted blob [{}]", blobId);
                 }
             }
         }