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 2016/06/23 14:36:39 UTC
svn commit: r1749899 -
/jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java
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());