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

Reply via email to