lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-7959) Throw more helpful error messages from failures in obtainFSLock, at least in NativeFSLockFactory
Date Wed, 06 Sep 2017 16:35:00 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-7959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16155640#comment-16155640
] 

Robert Muir commented on LUCENE-7959:
-------------------------------------

by the way, if you have a permissions issue where you don't have access to a file, you will
get that access denied exception exactly from the FileChannel.open. 

So we aren't masking any exceptions here at all: We throw "Lock held by this virtual machine"
if there is already an entry in LOCK_HELD map, and we throw "Lock held by another program"
if tryLock() returns null. I think we can safely close the issue.

> Throw more helpful error messages from failures in obtainFSLock, at least in NativeFSLockFactory
> ------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-7959
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7959
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>            Priority: Minor
>
> This is one of those small changes that would save a lot of pain for end users. Currently,
any failure to obtain the lock reports:
> "Lock held by this virtual machine: " + realPath
> or 
> "Lock held by another program: " + realPath
> Let's say that there's a permissions issue with the index dir. This is an unhelpful/misleading
error message (recent user's list discussion about this).
> The problem is that when we try to create the lock file we swallow _all_ exceptions,
not just the one we don't care about (Thanks [~elyograg] for pointing this out).
>  {{   
>    try {
>       Files.createFile(lockFile);
>     } catch (IOException ignore) {
>       // we must create the file to have a truly canonical path.
>       // if it's already created, we don't care. if it cant be created, it will fail
below.
>     }
> }}
> It fails later with one of the above error messages.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message