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 2014/04/22 14:31:48 UTC
svn commit: r1589111 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/core/ lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/test/org/apache/lucene/index/
Author: rmuir
Date: Tue Apr 22 12:31:47 2014
New Revision: 1589111
URL: http://svn.apache.org/r1589111
Log:
LUCENE-5622: fix noisy tests
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java?rev=1589111&r1=1589110&r2=1589111&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java Tue Apr 22 12:31:47 2014
@@ -22,6 +22,7 @@ import org.apache.lucene.store.FSDirecto
import org.apache.lucene.util.CommandLineUtil;
import org.apache.lucene.util.Constants;
import org.apache.lucene.util.InfoStream;
+import org.apache.lucene.util.PrintStreamInfoStream;
import org.apache.lucene.util.Version;
import java.io.File;
@@ -42,7 +43,7 @@ import java.util.Collection;
* refuses to run by default. Specify {@code -delete-prior-commits}
* to override this, allowing the tool to delete all but the last commit.
* From Java code this can be enabled by passing {@code true} to
- * {@link #IndexUpgrader(Directory,Version,PrintStream,boolean)}.
+ * {@link #IndexUpgrader(Directory,Version,InfoStream,boolean)}.
* <p><b>Warning:</b> This tool may reorder documents if the index was partially
* upgraded before execution (e.g., documents were added). If your application relies
* on "monotonicity" of doc IDs (which means that the order in which the documents
@@ -76,7 +77,7 @@ public final class IndexUpgrader {
static IndexUpgrader parseArgs(String[] args) throws IOException {
String path = null;
boolean deletePriorCommits = false;
- PrintStream out = null;
+ InfoStream out = null;
String dirImpl = null;
int i = 0;
while (i<args.length) {
@@ -84,7 +85,7 @@ public final class IndexUpgrader {
if ("-delete-prior-commits".equals(arg)) {
deletePriorCommits = true;
} else if ("-verbose".equals(arg)) {
- out = System.out;
+ out = new PrintStreamInfoStream(System.out);
} else if ("-dir-impl".equals(arg)) {
if (i == args.length - 1) {
System.out.println("ERROR: missing value for -dir-impl option");
@@ -125,7 +126,7 @@ public final class IndexUpgrader {
/** Creates index upgrader on the given directory, using an {@link IndexWriter} using the given
* {@code matchVersion}. You have the possibility to upgrade indexes with multiple commit points by removing
* all older ones. If {@code infoStream} is not {@code null}, all logging output will be sent to this stream. */
- public IndexUpgrader(Directory dir, Version matchVersion, PrintStream infoStream, boolean deletePriorCommits) {
+ public IndexUpgrader(Directory dir, Version matchVersion, InfoStream infoStream, boolean deletePriorCommits) {
this(dir, new IndexWriterConfig(matchVersion, null), deletePriorCommits);
if (null != infoStream) {
this.iwc.setInfoStream(infoStream);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1589111&r1=1589110&r2=1589111&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Tue Apr 22 12:31:47 2014
@@ -61,6 +61,7 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.Constants;
import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.StringHelper;
@@ -204,7 +205,7 @@ public class TestBackwardsCompatibility
switch (choice) {
case 0: return new IndexUpgrader(dir, TEST_VERSION_CURRENT);
case 1: return new IndexUpgrader(dir, TEST_VERSION_CURRENT,
- streamType ? null : System.err, false);
+ streamType ? null : InfoStream.NO_OUTPUT, false);
case 2: return new IndexUpgrader(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, null), false);
default: fail("case statement didn't get updated when random bounds changed");
}
@@ -867,47 +868,53 @@ public class TestBackwardsCompatibility
public void testCommandLineArgs() throws Exception {
- for (String name : oldIndexDirs.keySet()) {
- File dir = createTempDir(name);
- File dataFile = new File(TestBackwardsCompatibility.class.getResource("index." + name + ".zip").toURI());
- TestUtil.unzip(dataFile, dir);
-
- String path = dir.getAbsolutePath();
-
- List<String> args = new ArrayList<>();
- if (random().nextBoolean()) {
- args.add("-verbose");
- }
- if (random().nextBoolean()) {
- args.add("-delete-prior-commits");
- }
- if (random().nextBoolean()) {
- // TODO: need to better randomize this, but ...
- // - LuceneTestCase.FS_DIRECTORIES is private
- // - newFSDirectory returns BaseDirectoryWrapper
- // - BaseDirectoryWrapper doesn't expose delegate
- Class<? extends FSDirectory> dirImpl = random().nextBoolean() ?
- SimpleFSDirectory.class : NIOFSDirectory.class;
-
- args.add("-dir-impl");
- args.add(dirImpl.getName());
- }
- args.add(path);
-
- IndexUpgrader upgrader = null;
- try {
- upgrader = IndexUpgrader.parseArgs(args.toArray(new String[0]));
- } catch (Exception e) {
- throw new RuntimeException("unable to parse args: " + args, e);
- }
- upgrader.upgrade();
-
- Directory upgradedDir = newFSDirectory(dir);
- try {
- checkAllSegmentsUpgraded(upgradedDir);
- } finally {
- upgradedDir.close();
+ PrintStream savedSystemOut = System.out;
+ System.setOut(new PrintStream(new ByteArrayOutputStream(), false, "UTF-8"));
+ try {
+ for (String name : oldIndexDirs.keySet()) {
+ File dir = createTempDir(name);
+ File dataFile = new File(TestBackwardsCompatibility.class.getResource("index." + name + ".zip").toURI());
+ TestUtil.unzip(dataFile, dir);
+
+ String path = dir.getAbsolutePath();
+
+ List<String> args = new ArrayList<>();
+ if (random().nextBoolean()) {
+ args.add("-verbose");
+ }
+ if (random().nextBoolean()) {
+ args.add("-delete-prior-commits");
+ }
+ if (random().nextBoolean()) {
+ // TODO: need to better randomize this, but ...
+ // - LuceneTestCase.FS_DIRECTORIES is private
+ // - newFSDirectory returns BaseDirectoryWrapper
+ // - BaseDirectoryWrapper doesn't expose delegate
+ Class<? extends FSDirectory> dirImpl = random().nextBoolean() ?
+ SimpleFSDirectory.class : NIOFSDirectory.class;
+
+ args.add("-dir-impl");
+ args.add(dirImpl.getName());
+ }
+ args.add(path);
+
+ IndexUpgrader upgrader = null;
+ try {
+ upgrader = IndexUpgrader.parseArgs(args.toArray(new String[0]));
+ } catch (Exception e) {
+ throw new RuntimeException("unable to parse args: " + args, e);
+ }
+ upgrader.upgrade();
+
+ Directory upgradedDir = newFSDirectory(dir);
+ try {
+ checkAllSegmentsUpgraded(upgradedDir);
+ } finally {
+ upgradedDir.close();
+ }
}
+ } finally {
+ System.setOut(savedSystemOut);
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestCrash.java?rev=1589111&r1=1589110&r2=1589111&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestCrash.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestCrash.java Tue Apr 22 12:31:47 2014
@@ -93,9 +93,13 @@ public class TestCrash extends LuceneTes
// This test relies on being able to open a reader before any commit
// happened, so we must create an initial commit just to allow that, but
// before any documents were added.
- System.out.println("TEST: initIndex");
+ if (VERBOSE) {
+ System.out.println("TEST: initIndex");
+ }
IndexWriter writer = initIndex(random(), true);
- System.out.println("TEST: done initIndex");
+ if (VERBOSE) {
+ System.out.println("TEST: done initIndex");
+ }
MockDirectoryWrapper dir = (MockDirectoryWrapper) writer.getDirectory();
// We create leftover files because merging could be
@@ -103,7 +107,9 @@ public class TestCrash extends LuceneTes
dir.setAssertNoUnrefencedFilesOnClose(false);
dir.setPreventDoubleWrite(false);
- System.out.println("TEST: now crash");
+ if (VERBOSE) {
+ System.out.println("TEST: now crash");
+ }
crash(writer);
writer = initIndex(random(), dir, false);
writer.close();
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java?rev=1589111&r1=1589110&r2=1589111&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java Tue Apr 22 12:31:47 2014
@@ -281,6 +281,10 @@ public class TestDocValuesIndexing exten
fail("didn't hit expected exception");
} catch (IllegalArgumentException expected) {
// expected
+ if (VERBOSE) {
+ System.out.println("hit exc:");
+ expected.printStackTrace(System.out);
+ }
}
iwriter.close();
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1589111&r1=1589110&r2=1589111&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Tue Apr 22 12:31:47 2014
@@ -17,9 +17,12 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Reader;
+import java.io.PrintStream;
import java.io.StringReader;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -988,6 +991,8 @@ public class TestIndexWriter extends Luc
volatile boolean allowInterrupt = false;
final Random random;
final Directory adder;
+ final ByteArrayOutputStream bytesLog = new ByteArrayOutputStream();
+ final PrintStream log = new PrintStream(bytesLog, true, IOUtils.UTF_8);
IndexerThreadInterrupt() throws IOException {
this.random = new Random(random().nextLong());
@@ -1130,24 +1135,27 @@ public class TestIndexWriter extends Luc
// on!! This test doesn't repro easily so when
// Jenkins hits a fail we need to study where the
// interrupts struck!
- System.out.println("TEST: got interrupt");
- re.printStackTrace(System.out);
+ log.println("TEST: got interrupt");
+ re.printStackTrace(log);
Throwable e = re.getCause();
assertTrue(e instanceof InterruptedException);
if (finish) {
break;
}
} catch (Throwable t) {
- System.out.println("FAILED; unexpected exception");
- t.printStackTrace(System.out);
+ log.println("FAILED; unexpected exception");
+ t.printStackTrace(log);
failed = true;
break;
}
}
+ if (VERBOSE) {
+ log.println("TEST: now finish failed=" + failed);
+ }
if (!failed) {
if (VERBOSE) {
- System.out.println("TEST: now rollback");
+ log.println("TEST: now rollback");
}
// clear interrupt state:
Thread.interrupted();
@@ -1163,8 +1171,8 @@ public class TestIndexWriter extends Luc
TestUtil.checkIndex(dir);
} catch (Exception e) {
failed = true;
- System.out.println("CheckIndex FAILED: unexpected exception");
- e.printStackTrace(System.out);
+ log.println("CheckIndex FAILED: unexpected exception");
+ e.printStackTrace(log);
}
try {
IndexReader r = DirectoryReader.open(dir);
@@ -1172,8 +1180,8 @@ public class TestIndexWriter extends Luc
r.close();
} catch (Exception e) {
failed = true;
- System.out.println("DirectoryReader.open FAILED: unexpected exception");
- e.printStackTrace(System.out);
+ log.println("DirectoryReader.open FAILED: unexpected exception");
+ e.printStackTrace(log);
}
}
try {
@@ -1217,7 +1225,9 @@ public class TestIndexWriter extends Luc
}
t.finish = true;
t.join();
- assertFalse(t.failed);
+ if (t.failed) {
+ fail(new String(t.bytesLog.toString("UTF-8")));
+ }
}
/** testThreadInterruptDeadlock but with 2 indexer threads */