You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2014/03/22 09:35:43 UTC
[jira] [Created] (LUCENE-5550) Handle NoSuchFileException
Michael McCandless created LUCENE-5550:
------------------------------------------
Summary: Handle NoSuchFileException
Key: LUCENE-5550
URL: https://issues.apache.org/jira/browse/LUCENE-5550
Project: Lucene - Core
Issue Type: Bug
Reporter: Michael McCandless
Priority: Blocker
Fix For: 4.8
With Java 7 we now must handle either NoSuchFileException (thrown by nio) or FileNotFoundException (thrown by pre-nio io apis) coming out of some Directory methods.
We did this on trunk already but we need to do it for 4.x as well... including fixing MockDirWrapper to randomly pick one to throw.
Uwe said:
I did a grep for NoSuchFileException on trunk and 4.x.
In trunk we have many more of this Excepotion, especially also randomization in MockDirectory to throw this one or FNFE. We should backport those fixes:
Branch_4x:
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * (not {@code java.nio.file.NoSuchFileException} of Java 7).
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * (not {@code java.nio.file.NoSuchFileException} of Java 7).
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * (not {@code java.nio.file.NoSuchFileException} of Java 7).
./lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java:import java.nio.file.NoSuchFileException;
./lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java: } catch (FileNotFoundException | NoSuchFileException e) {
Trunk:
./lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java: } catch (FileNotFoundException | NoSuchFileException fnfe) {
./lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/core/src/java/org/apache/lucene/store/Directory.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * <li>Throws {@link FileNotFoundException} or {@link NoSuchFileException}
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * <p>Throws {@link FileNotFoundException} or {@link NoSuchFileException}
./lucene/core/src/java/org/apache/lucene/store/Directory.java: * <p>Throws {@link FileNotFoundException} or {@link NoSuchFileException}
./lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java: } else if (t instanceof FileNotFoundException || t instanceof NoSuchFileException) {
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: fail("opening DirectoryReader on empty directory failed to produce FileNotFoundException/NoSuchFileException");
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: fail("expected FileNotFoundException/NoSuchFileException");
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: fail("expected FileNotFoundException/NoSuchFileException");
./lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java: } catch (FileNotFoundException | NoSuchFileException ex) {
./lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java: } catch (FileNotFoundException | NoSuchFileException e1) {
./lucene/core/src/test/org/apache/lucene/store/TestDirectory.java:import java.nio.file.NoSuchFileException;
./lucene/core/src/test/org/apache/lucene/store/TestDirectory.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java:import java.nio.file.NoSuchFileException;
./lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java: } catch (FileNotFoundException | NoSuchFileException e) {
./lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java:import java.nio.file.NoSuchFileException;
./lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java: throw randomState.nextBoolean() ? new FileNotFoundException("a random IOException (" + name + ")") : new NoSuchFileException("a random IOException (" + name + ")");
./lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java: throw randomState.nextBoolean() ? new FileNotFoundException(name + " in dir=" + in) : new NoSuchFileException(name + " in dir=" + in);
./lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java: throw randomState.nextBoolean() ? new FileNotFoundException(name) : new NoSuchFileException(name);
This is important to fix before we release 4.8 for Java 7
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org