[ https://issues.apache.org/jira/browse/LUCENE-6507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14563379#comment-14563379 ]
Robert Muir commented on LUCENE-6507: ------------------------------------- {quote} I also had to fix/relax MockDirectoryWrapper.AssertingLock's behavior if you call .obtain twice on a single lock ... it was clearing its obtained member, but I don't think it should. {quote} IMO we should deliver an exception if you do this. There is no need for leniency that returns false. > NativeFSLock.close() can invalidate other locks > ----------------------------------------------- > > Key: LUCENE-6507 > URL: https://issues.apache.org/jira/browse/LUCENE-6507 > Project: Lucene - Core > Issue Type: Bug > Reporter: Simon Willnauer > Priority: Blocker > Fix For: 4.10.5, 5.2 > > Attachments: LUCENE-6507.patch, LUCENE-6507.patch, LUCENE-6507.patch, > LUCENE-6507.patch, LUCENE-6507.patch, LUCENE-6507.patch, LUCENE-6507.patch, > LUCENE-6507.patch, LUCENE-6507.patch > > > the lock API in Lucene is super trappy since the lock that we return form > this API must first be obtained and if we can't obtain it the lock should not > be closed since we might ie. close the underlying channel in the NativeLock > case which releases all lock for this file on some operating systems. I think > the makeLock method should try to obtain and only return a lock if we > successfully obtained it. Not sure if it's possible everywhere but we should > at least make the documentation clear here. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org