Yes, you need the <mkdir>, my comment was meant to point out that the Junit4 
task does *not* create the temp dir (tempdir=), only the working dir (dir=). 
The Lucene common-build.xml does this since a week or so (before that tempdir= 
and dir= were identical and created in one turn – this change was needed 
because of SecurityManager, see Dawid’s explanation a few mails before).

 

-----

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:49 AM
To: dev@lucene.apache.org
Subject: Re: improving unique work.dir per JVM?

 

I copied it from lucene's common-build.xml and I don't see any other place (in 
that file) where <mkdir> is called on neither @tempDir or $tests.tempDir.

Also, at least from: http://ant.apache.org/manual/Tasks/mkdir.html --> "Creates 
a directory. Also non-existent parent directories are created, when necessary."

So it looks ok?

Shai

 

On Sun, Dec 23, 2012 at 12:40 PM, Uwe Schindler <u...@thetaphi.de> wrote:

> 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

 

 

Reply via email to