Author: mduerig
Date: Tue Jun 27 08:35:42 2017
New Revision: 1800029
URL: http://svn.apache.org/viewvc?rev=1800029&view=rev
Log:
michid
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/OnlineCompactor.java
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/OnlineCompactorTest.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/OnlineCompactor.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/OnlineCompactor.java?rev=1800029&r1=1800028&r2=1800029&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/OnlineCompactor.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/OnlineCompactor.java
Tue Jun 27 08:35:42 2017
@@ -46,6 +46,10 @@ import org.apache.jackrabbit.oak.spi.sta
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+// TODO michid doc
+// TODO michid unify with Compactor?!
+// TODO michid add progress tracker!?
+// TODO michid logging
public class OnlineCompactor {
private static final Logger log =
LoggerFactory.getLogger(OnlineCompactor.class);
@@ -111,7 +115,7 @@ public class OnlineCompactor {
private long modCount;
private void updated() throws IOException {
- if (++modCount % 10000 == 0) {
+ if (++modCount % 10000 == 0) { // michid don't hc
RecordId newBaseId = writer.writeNode(builder.getNodeState(),
null);
SegmentNodeState newBase = new SegmentNodeState(reader,
writer, blobStore, newBaseId);
builder = new MemoryNodeBuilder(newBase);
@@ -203,6 +207,7 @@ public class OnlineCompactor {
}
}
+ // TODO michid deduplicate binaries, strings here?
@Nonnull
private static PropertyState compact(@Nonnull PropertyState property) {
String name = property.getName();
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1800029&r1=1800028&r2=1800029&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
Tue Jun 27 08:35:42 2017
@@ -692,7 +692,7 @@ public class FileStore extends AbstractF
.withAccessTracking("COMPACT",
statisticsProvider))
.withGeneration(newGeneration)
.withoutWriterPool()
- .withCompactionMonitor(compactionMonitor)
+ .withCompactionMonitor(compactionMonitor) // TODO
michid move this into the compactor
.build(FileStore.this);
OnlineCompactor compactor = new OnlineCompactor(segmentReader,
writer, getBlobStore(), cancel);
@@ -785,6 +785,8 @@ public class FileStore extends AbstractF
}
}
+ // TODO michid fix offline compaction
+ // michid doc
@CheckForNull
private SegmentNodeState compact(
@Nullable SegmentNodeState base,
@@ -810,6 +812,7 @@ public class FileStore extends AbstractF
return new SegmentNodeState(segmentReader, segmentWriter,
getBlobStore(), nodeId);
}
+ // michid doc
@CheckForNull
private LinkedHashMap<String, NodeState> compact(
@Nonnull LinkedHashMap<String, NodeState> baseRoots,
@@ -838,6 +841,7 @@ public class FileStore extends AbstractF
return compactedRoots;
}
+ // michid doc
@Nonnull
private LinkedHashMap<String, NodeState> collectRoots(@Nullable
SegmentNodeState superRoot) {
LinkedHashMap<String, NodeState> roots = newLinkedHashMap();
@@ -868,6 +872,7 @@ public class FileStore extends AbstractF
return builder;
}
+ // michid doc
private SegmentNodeState forceCompact(
@Nonnull final SegmentNodeState base,
@Nonnull final OnlineCompactor compactor,
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java?rev=1800029&r1=1800028&r2=1800029&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
Tue Jun 27 08:35:42 2017
@@ -367,7 +367,7 @@ public class CompactionAndCleanupIT {
}
@Test
- @Ignore
+ @Ignore // TODO michid fix offlineCompactionBinC1
public void offlineCompactionBinC1() throws Exception {
SegmentGCOptions gcOptions = defaultGCOptions().setOffline()
.withBinaryDeduplication();
@@ -1106,7 +1106,7 @@ public class CompactionAndCleanupIT {
// A final bit of content
builder = nodeStore.getRoot().builder();
- for (int k = 0; k < 10000; k++) {
+ for (int k = 0; k < 10000; k++) { // michid don't hc
builder.setChildNode("b-" + k);
}
nodeStore.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/OnlineCompactorTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/OnlineCompactorTest.java?rev=1800029&r1=1800028&r2=1800029&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/OnlineCompactorTest.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/OnlineCompactorTest.java
Tue Jun 27 08:35:42 2017
@@ -30,6 +30,8 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
+// michid unify with CompactorTest!?
+// michid implement more tests, check coverage
public class OnlineCompactorTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder(new File("target"));