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/10/26 08:06:24 UTC
svn commit: r1766643 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob:
MarkSweepGarbageCollector.java datastore/DataStoreBlobStore.java
Author: amitj
Date: Wed Oct 26 08:06:24 2016
New Revision: 1766643
URL: http://svn.apache.org/viewvc?rev=1766643&view=rev
Log:
OAK-4627: [BlobGC] Reduce logging during delete
Logging deleted blob ids in batches of 512
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=1766643&r1=1766642&r2=1766643&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 Oct 26 08:06:24 2016
@@ -82,7 +82,7 @@ public class MarkSweepGarbageCollector i
public static final String TEMP_DIR = StandardSystemProperty.JAVA_IO_TMPDIR.value();
- public static final int DEFAULT_BATCH_COUNT = 2048;
+ public static final int DEFAULT_BATCH_COUNT = 1024;
public static final String DELIM = ",";
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=1766643&r1=1766642&r2=1766643&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 Oct 26 08:06:24 2016
@@ -46,6 +46,7 @@ import com.google.common.base.Predicate;
import com.google.common.cache.LoadingCache;
import com.google.common.cache.Weigher;
import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
import com.google.common.io.ByteStreams;
import com.google.common.io.Closeables;
import org.apache.commons.io.FileUtils;
@@ -406,6 +407,7 @@ public class DataStoreBlobStore implemen
public long countDeleteChunks(List<String> chunkIds, long maxLastModifiedTime) throws Exception {
int count = 0;
if (delegate instanceof MultiDataStoreAware) {
+ List<String> deleted = Lists.newArrayListWithExpectedSize(512);
for (String chunkId : chunkIds) {
String blobId = extractBlobId(chunkId);
DataIdentifier identifier = new DataIdentifier(blobId);
@@ -416,10 +418,17 @@ public class DataStoreBlobStore implemen
dataRecord.getLastModified(), success);
if (success) {
((MultiDataStoreAware) delegate).deleteRecord(identifier);
- log.info("Deleted blob [{}]", blobId);
+ deleted.add(blobId);
count++;
+ if (count % 512 == 0) {
+ log.info("Deleted blobs {[]}", deleted);
+ deleted.clear();
+ }
}
}
+ if (!deleted.isEmpty()) {
+ log.info("Deleted blobs {[]}", deleted);
+ }
}
return count;
}