> Anyway, I added <mkdir dir="@{tempDir}/temp"> to my build.xml to avoid such > issues in the future.
This one is *not* created – the task expects a directory already there (like the ANT copy task expects that the output dir is there). Look at Lucene’s common-build.xml. Maybe we should fix this – or not? Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen <http://www.thetaphi.de/> http://www.thetaphi.de eMail: u...@thetaphi.de From: Shai Erera [mailto:ser...@gmail.com] Sent: Sunday, December 23, 2012 11:32 AM To: dev@lucene.apache.org Subject: Re: improving unique work.dir per JVM? Yes I know about that. I was not at all confused - just thought that the runner did not call mkdirs(). Anyway, I added <mkdir dir="@{tempDir}/temp"> to my build.xml to avoid such issues in the future. +1 for renaming tests.tempDir to tests.workDir. Shai On Sun, Dec 23, 2012 at 12:26 PM, Uwe Schindler <u...@thetaphi.de> wrote: I think the misunderstanding here is tests.tempDir != java.io.tmpdir. This tests.tempDir property in Lucene's ANT does not really modify java.io.tmpdir (it only does as a side effect), it is (in my opinion) badly named, we should rename it to "working dir" (${tests.workingDir}). The $tests.tempDir/temp folder is JNUIT4-only, it is used to share the communication files between the runner processes (there are file in it having things like sysout contents). Those contents are unique and *must* be in one directory for the JUnit4-Task to work. Setting up java.io.tmpdir to be the CWD is part of Lucene's ANT file. Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: dawid.we...@gmail.com [mailto:dawid.we...@gmail.com] On Behalf > Of Dawid Weiss > Sent: Sunday, December 23, 2012 11:20 AM > To: dev@lucene.apache.org > Subject: Re: improving unique work.dir per JVM? > > > I did RTFM. > > Just joking. > > > So dir=tempDir, be it java.io.tempdir or whatever you set when invoking > ant. > > [snip] > > -DtempDir=/mnt/tmp/job1 > > There is a crucial difference. Lucene sets this to a temporary folder > underneath the checkout structure. So every checkout (as in a jenkins plan > or something) will have a different folder. The reason for creating a sub- > folder for the temporary junit4 files is the security manager -- to allow all > JVMs to write to the tempdir (that's how event files are propagated to the > master node for aggregation) and at the same time disallow them to write > anywhere else but their own current working directory. So you end up with a > folder structure like this: > > parent/J0 > parent/J1 > parent/J[...] > parent/temp > > the key for you is to isolate "parent" so you can't just point it to the same > folder across all JVMs. Whether you do this from ANT or from command-line > is up to you. > > > I don't know why this mkdirs() didn't create the full path. I'm using > > the runner for Lucene 4.0, maybe it didn't call mkdirs() then? > > I'm sure it does. Maybe it didn't have permissions or something? Or maybe it > wasn't the mkdirs that was the problem? Or maybe there's a bug lurking > somewhere. If you can reproduce it, file an issue, I'll take a look. > > D. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional > commands, e-mail: dev-h...@lucene.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org