You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2015/04/01 05:44:46 UTC
svn commit: r1670549 -
/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
Author: rmuir
Date: Wed Apr 1 03:44:45 2015
New Revision: 1670549
URL: http://svn.apache.org/r1670549
Log:
make this test more verbose when it fails
Modified:
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java?rev=1670549&r1=1670548&r2=1670549&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java Wed Apr 1 03:44:45 2015
@@ -18,12 +18,18 @@ package org.apache.lucene.index;
*/
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
@@ -146,6 +152,7 @@ public class TestIndexWriterForceMerge e
if (VERBOSE) {
System.out.println("TEST: start disk usage = " + startDiskUsage);
}
+ String startListing = listFiles(dir);
dir.resetMaxUsedSizeInBytes();
dir.setTrackDiskUsage(true);
@@ -182,10 +189,31 @@ public class TestIndexWriterForceMerge e
+ startDiskUsage + " bytes; final usage was " + finalDiskUsage
+ " bytes; max temp usage was " + maxDiskUsage
+ " but should have been " + (3 * maxStartFinalDiskUsage)
- + " (= 3X starting usage)", maxDiskUsage <= 3 * maxStartFinalDiskUsage);
+ + " (= 3X starting usage), BEFORE=" + startListing + "AFTER=" + listFiles(dir), maxDiskUsage <= 3 * maxStartFinalDiskUsage);
dir.close();
}
+ // print out listing of files and sizes, but recurse into CFS to debug nested files there.
+ private String listFiles(Directory dir) throws IOException {
+ SegmentInfos infos = SegmentInfos.readLatestCommit(dir);
+ StringBuilder sb = new StringBuilder();
+ sb.append(System.lineSeparator());
+ for (SegmentCommitInfo info : infos) {
+ for (String file : info.files()) {
+ sb.append(String.format(Locale.ROOT, "%-20s%d%n", file, dir.fileLength(file)));
+ }
+ if (info.info.getUseCompoundFile()) {
+ try (Directory cfs = info.info.getCodec().compoundFormat().getCompoundReader(dir, info.info, IOContext.DEFAULT)) {
+ for (String file : cfs.listAll()) {
+ sb.append(String.format(Locale.ROOT, " |- (inside compound file) %-20s%d%n", file, cfs.fileLength(file)));
+ }
+ }
+ }
+ }
+ sb.append(System.lineSeparator());
+ return sb.toString();
+ }
+
// Test calling forceMerge(1, false) whereby forceMerge is kicked
// off but we don't wait for it to finish (but
// writer.close()) does wait