jasontedor opened a new pull request #706: Only ignore IOException on dirs when 
invoking force
URL: https://github.com/apache/lucene-solr/pull/706
 
 
   Today in the method IOUtils#fsync we ignore IOExceptions when fsyncing a 
directory. However, the catch block here is too broad, for example it would be 
ignoring IOExceptions when we try to open a non-existent file. This commit 
addresses that by scoping the ignored exceptions only to the invocation of 
FileChannel#force. This prevents us from suppressing an exception in case we 
run into an unexpected issue when opening the file.
   
   However, fsyncing directories on Windows is not possible. We always 
suppressed this by allowing that an AccessDeniedException is thrown when 
attemping to open the directory for reading. Yet, per the above, this 
suppression also allowed other IOExceptions to be suppressed, and that should 
be considered a bug (e.g., not only the directory not existing, but any 
filesystem error and other reasons that we might get an access denied there, 
like genuine permissions issues). Rather than relying on exceptions for flow 
control and continuing to suppress there, we simply return early if attempting 
to fsync a directory on Windows (we should not put this burden on the caller).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to