[ https://issues.apache.org/jira/browse/LUCENE-4639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536954#comment-13536954 ]
Dawid Weiss commented on LUCENE-4639: ------------------------------------- bq. But if a directory exists, it throws an exception. mkdir() doesn't trip on it. That was my point -- it'll just run forever when it cannot create any directories? bq. well definitely the words "runner" and "report PID" There is a system property passed from ANT's junit4 task that contains whatever runtimemx/getname returns. It doesn't have to be a PID and it may not be available -- this functionality simply isn't guaranteed by the contract. Current process's PID API should be available in Java8. > Improving _TestUtil.getTempDir > ------------------------------ > > Key: LUCENE-4639 > URL: https://issues.apache.org/jira/browse/LUCENE-4639 > Project: Lucene - Core > Issue Type: Bug > Reporter: Shai Erera > Assignee: Shai Erera > Priority: Minor > Attachments: LUCENE-4639.patch, LUCENE-4639.patch > > > Spinoff from here: > http://lucene.472066.n3.nabble.com/TestUtil-getTempFile-may-fail-on-quot-Access-Denied-quot-td4028048.html. > _TestUtil.getTempDir uses createTempFile and then deletes the file. While > this usually works, if someone runs tests by multiple JVMs and does not > ensure each JVM gets an isolated temp.dir to work in, that my result in two > JVMs sharing the same directory. > Also, on Windows, if you call getTempDir on an existing directory, you get an > "Access is denied" exception. > Dawid proposed a simple solution to just call mkdirs() continuously until > success. I'd like to try that. > Also, I think that genTempFile could use some house cleaning, e.g.: > * tempFileLocker can be just an Object instance? Why do we need a class? > * If we initialize counter and counterBase in a static clause, we can avoid > checking if counter==0 as well as passing Random to genTempFile (that will > remove any suspicion that it does anything randomly) > ** Also, instead of synchronizing on tempFileLocker, can we just use > AtomicInteger for the counter? > I'll modify getTempDir first. It documents "does not create the directory", I > want to make sure no test fails due that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org