Author: alexparvulescu Date: Thu Jun 23 14:36:39 2016 New Revision: 1749899
URL: http://svn.apache.org/viewvc?rev=1749899&view=rev Log: OAK-4493 Offline compaction persisted mode - fix for segmentmk Modified: jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java Modified: jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java?rev=1749899&r1=1749898&r2=1749899&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java (original) +++ jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java Thu Jun 23 14:36:39 2016 @@ -56,6 +56,15 @@ public class Compactor { /** Logger instance */ private static final Logger log = LoggerFactory.getLogger(Compactor.class); + private static boolean eagerFlush = Boolean + .getBoolean("oak.compaction.eagerFlush"); + + static { + if (eagerFlush) { + log.debug("Eager flush enabled."); + } + } + /** * Locks down the RecordId persistence structure */ @@ -245,7 +254,12 @@ public class Compactor { progress.onNode(); try { - NodeBuilder child = EMPTY_NODE.builder(); + NodeBuilder child; + if (eagerFlush) { + child = builder.setChildNode(name); + } else { + child = EMPTY_NODE.builder(); + } boolean success = new CompactDiff(child, path, name).diff(EMPTY_NODE, after); if (success) { SegmentNodeState state = writer.writeNode(child.getNodeState());
