You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/02/04 22:05:57 UTC
svn commit: r1657398 - in /lucene/dev/trunk/lucene: ./
core/src/java/org/apache/lucene/index/
core/src/test/org/apache/lucene/codecs/compressing/
core/src/test/org/apache/lucene/index/
Author: mikemccand
Date: Wed Feb 4 21:05:57 2015
New Revision: 1657398
URL: http://svn.apache.org/r1657398
Log:
LUCENE-6217: add IW.isOpen and IW.getTragicException
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1657398&r1=1657397&r2=1657398&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Wed Feb 4 21:05:57 2015
@@ -65,6 +65,9 @@ API Changes
* LUCENE-6204, LUCENE-6208: Simplify CompoundFormat: remove files()
and remove files parameter to write(). (Robert Muir)
+* LUCENE-6217: Add IndexWriter.isOpen and getTragicException. (Simon
+ Willnauer, Mike McCandless)
+
Other
* LUCENE-6193: Collapse identical catch branches in try-catch statements.
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1657398&r1=1657397&r2=1657398&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Wed Feb 4 21:05:57 2015
@@ -4390,6 +4390,18 @@ public class IndexWriter implements Clos
IOUtils.reThrow(tragedy);
}
+ /** If this {@code IndexWriter} was closed as a side-effect of a tragic exception,
+ * e.g. disk full while flushing a new segment, this returns the root cause exception.
+ * Otherwise (no tragic exception has occurred) it returns null. */
+ public Throwable getTragicException() {
+ return tragedy;
+ }
+
+ /** Returns {@code true} if this {@code IndexWriter} is still open. */
+ public boolean isOpen() {
+ return closing == false && closed == false;
+ }
+
// Used for testing. Current points:
// startDoFlush
// startCommitMerge
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java?rev=1657398&r1=1657397&r2=1657398&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java Wed Feb 4 21:05:57 2015
@@ -54,7 +54,6 @@ public class TestCompressingStoredFields
return CompressingCodec.randomInstance(random());
}
- @Test(expected=IllegalArgumentException.class)
public void testDeletePartiallyWrittenFilesIfAbort() throws IOException {
Directory dir = newDirectory();
// test explicitly needs files to always be actually deleted
@@ -94,11 +93,13 @@ public class TestCompressingStoredFields
try {
iw.addDocument(invalidDoc);
iw.commit();
+ } catch(IllegalArgumentException iae) {
+ // expected
+ assertEquals(iae, iw.getTragicException());
}
- finally {
- // Abort should have closed the deleter:
- dir.close();
- }
+ // Writer should be closed by tragedy
+ assertFalse(iw.isOpen());
+ dir.close();
}
public void testZFloat() throws Exception {
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1657398&r1=1657397&r2=1657398&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Wed Feb 4 21:05:57 2015
@@ -1520,6 +1520,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (IllegalArgumentException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1544,6 +1545,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (IllegalArgumentException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1569,6 +1571,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (NullPointerException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1594,6 +1597,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (NullPointerException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1619,6 +1623,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (IllegalArgumentException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1644,6 +1649,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (IllegalArgumentException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc
DirectoryReader r = DirectoryReader.open(dir);
@@ -1675,6 +1681,7 @@ public class TestIndexWriterExceptions e
iw.addDocument(doc);
fail("didn't get expected exception");
} catch (IllegalArgumentException expected) {}
+ assertNull(iw.getTragicException());
iw.close();
// make sure we see our good doc