> 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: [email protected]
From: Shai Erera [mailto:[email protected]]
Sent: Sunday, December 23, 2012 11:32 AM
To: [email protected]
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 <[email protected]> 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: [email protected]
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf
> Of Dawid Weiss
> Sent: Sunday, December 23, 2012 11:20 AM
> To: [email protected]
> 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: [email protected] For additional
> commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]