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 2016/01/25 07:40:35 UTC
svn commit: r1726579 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
Author: amitj
Date: Mon Jan 25 06:40:34 2016
New Revision: 1726579
URL: http://svn.apache.org/viewvc?rev=1726579&view=rev
Log:
OAK-3527: Improve logging for blob GC
Added INFO progress logs per batchCount
Logged exception
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.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=1726579&r1=1726578&r2=1726579&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 Mon Jan 25 06:40:34 2016
@@ -250,6 +250,9 @@ public class MarkSweepGarbageCollector i
LOG.info("Blob garbage collection completed in {}. Number of blobs deleted [{}]", sw.toString(),
deleteCount, maxLastModifiedInterval);
}
+ } catch (Exception e) {
+ LOG.error("Blob garbage collection error", e);
+ throw e;
} finally {
if (!LOG.isTraceEnabled()) {
Closeables.close(fs, threw);
@@ -263,10 +266,10 @@ public class MarkSweepGarbageCollector i
*/
protected void mark(GarbageCollectorFileState fs) throws IOException, DataStoreException {
LOG.debug("Starting mark phase of the garbage collector");
-
+
// Create a time marker in the data store if applicable
GarbageCollectionType.get(blobStore).addMarkedStartMarker(blobStore, repoId);
-
+
// Mark all used references
iterateNodeTree(fs);
@@ -515,6 +518,10 @@ public class MarkSweepGarbageCollector i
saveBatchToFile(idBatch, writer);
idBatch.clear();
}
+
+ if (count.get() % getBatchCount() == 0) {
+ LOG.info("Collected ({}) blob references", count.get());
+ }
} catch (Exception e) {
throw new RuntimeException("Error in retrieving references", e);
}
@@ -610,14 +617,14 @@ public class MarkSweepGarbageCollector i
if (ids.size() > getBatchCount()) {
blobsCount += ids.size();
saveBatchToFile(ids, bufferWriter);
- LOG.debug("retrieved {} blobs", blobsCount);
+ LOG.info("Retrieved ({}) blobs", blobsCount);
}
}
if (!ids.isEmpty()) {
blobsCount += ids.size();
saveBatchToFile(ids, bufferWriter);
- LOG.debug("retrieved {} blobs", blobsCount);
+ LOG.info("Retrieved ({}) blobs", blobsCount);
}
// sort the file