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 al...@apache.org on 2015/07/06 13:29:43 UTC
svn commit: r1689371 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java
Author: alexparvulescu
Date: Mon Jul 6 11:29:43 2015
New Revision: 1689371
URL: http://svn.apache.org/r1689371
Log:
OAK-3075 Compaction Estimation should type check binary properties
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java?rev=1689371&r1=1689370&r2=1689371&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionGainEstimate.java Mon Jul 6 11:29:43 2015
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.segment.file;
import static org.apache.jackrabbit.oak.api.Type.BINARIES;
+import static org.apache.jackrabbit.oak.api.Type.BINARY;
import java.io.File;
import java.util.UUID;
@@ -24,8 +25,10 @@ import java.util.UUID;
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnel;
import com.google.common.hash.PrimitiveSink;
+
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.segment.RecordIdSet;
import org.apache.jackrabbit.oak.plugins.segment.SegmentBlob;
import org.apache.jackrabbit.oak.plugins.segment.SegmentId;
@@ -62,10 +65,18 @@ class CompactionGainEstimate implements
collectUUID(((SegmentPropertyState) property)
.getRecordId().getSegmentId());
}
- for (Blob blob : property.getValue(BINARIES)) {
+ Type<?> type = property.getType();
+ if (type == BINARY) {
+ Blob blob = property.getValue(BINARY);
for (SegmentId id : SegmentBlob.getBulkSegmentIds(blob)) {
collectUUID(id);
}
+ } else if (type == BINARIES) {
+ for (Blob blob : property.getValue(BINARIES)) {
+ for (SegmentId id : SegmentBlob.getBulkSegmentIds(blob)) {
+ collectUUID(id);
+ }
+ }
}
}
for (ChildNodeEntry child : node.getChildNodeEntries()) {