Return-Path: Delivered-To: apmail-lucene-dev-archive@www.apache.org Received: (qmail 10881 invoked from network); 30 Apr 2010 18:57:20 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 30 Apr 2010 18:57:20 -0000 Received: (qmail 95090 invoked by uid 500); 30 Apr 2010 18:57:19 -0000 Delivered-To: apmail-lucene-dev-archive@lucene.apache.org Received: (qmail 95048 invoked by uid 500); 30 Apr 2010 18:57:19 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 95041 invoked by uid 99); 30 Apr 2010 18:57:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Apr 2010 18:57:19 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Apr 2010 18:57:16 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o3UIut5h029791 for ; Fri, 30 Apr 2010 18:56:55 GMT Message-ID: <19049178.38321272653815010.JavaMail.jira@thor> Date: Fri, 30 Apr 2010 14:56:55 -0400 (EDT) From: "Shai Erera (JIRA)" To: dev@lucene.apache.org Subject: [jira] Commented: (LUCENE-2421) Hardening of NativeFSLock In-Reply-To: <24749183.5191272547014166.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/LUCENE-2421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862805#action_12862805 ] Shai Erera commented on LUCENE-2421: ------------------------------------ bq. Libraries shouldn't be doing things like sleeping on you (for so long)... Well ... I think they'd appreciate the sleep instead of the immediate exception. Previuosly, I've been asked by customers to do that in other places. A 100ms sleep is barely noticeable (being so rare), but an exception definitely is! :) bq. Isn't it "harmless" if we can't delete it? No it isn't. I distinguish between two cases: the regular and test lock. For the regular lock, we've already agreed we cannot leave it behind as it will prevent future locking. For the test lock I catch the exception in acquireTestLock and call deleteOnExit() suppressing the exception. bq. you should immediately throw ThreadInterruptedException ok, thought it'd be harmless here to ignore it since I'm only doing last resort actions. But if that's common practice now, I will throw the exception. Thanks for the comments ! > Hardening of NativeFSLock > ------------------------- > > Key: LUCENE-2421 > URL: https://issues.apache.org/jira/browse/LUCENE-2421 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Reporter: Shai Erera > Assignee: Shai Erera > Fix For: 3.1 > > Attachments: LUCENE-2421.patch > > > NativeFSLock create a test lock file which its name might collide w/ another JVM that is running. Very unlikely, but still it happened a couple of times already, since the tests were parallelized. This may result in a false exception thrown from release(), when the lock file's delete() is called and returns false, because the file does not exist (deleted by another JVM already). In addition, release() should give a second attempt to delete() if it fails, since the file may be held temporarily by another process (like AntiVirus) before it fails. The proposed changes are: > 1) Use ManagementFactory.getRuntimeMXBean().getName() as part of the test lock name (should include the process Id) > 2) In release(), if delete() fails, check if the file indeed exists. If it is, let's attempt a re-delete() few ms later. > 3) If (3) still fails, throw an exception. Alternatively, we can attempt a deleteOnExit. > I'll post a patch later today. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org