ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Jowett (JIRA)" <j...@apache.org>
Subject [jira] Updated: (IVY-1272) <cachefileset> on an empty configuration produces a very slow-to-evaluate fileset
Date Tue, 08 Mar 2011 22:44:59 GMT

     [ https://issues.apache.org/jira/browse/IVY-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oliver Jowett updated IVY-1272:
-------------------------------

    Description: 
If I declare a <cachefileset> for a configuration that is present but empty, I get a
fileset that (as expected) matches no files.
The problem is that when used, that fileset decides to match no files by recursively scanning
all files starting from the current working directory (checked via strace and via a JVM thread
dump)
In our case, often the CWD is the top of our build tree, so this takes a very long time to
work out that the fileset is in fact empty.

Specifically, we're doing this (inside a macrodef)

            <ivy:cachefileset setid="@{module}.docdeps" conf="doc" type="javadoc.zip"/>
            <unzip dest="${target}/javadoc">
                <patternset>
                    <include name="*/package-list"/>
                </patternset>
                <fileset refid="@{module}.docdeps"/>
            </unzip>

and the unzip step takes a very, very, long time to do nothing when the "doc" conf is empty.
If I replace the use of cachefileset with an explicit fileset that matches nothing, it runs
fast as expected.

  was:
If I declare a <cachefileset> for a configuration that is present but empty, I get a
fileset that (as expected) matches no files.
The problem is that when used, that fileset decides to match no files by recursively scanning
all files starting from the current working directly (checked via strace and via a JVM thread
dump)
In our case, often the CWD is the top of our build tree, so this takes a very long time to
work out that the fileset is in fact empty.

Specifically, we're doing this (inside a macrodef)

            <ivy:cachefileset setid="@{module}.docdeps" conf="doc" type="javadoc.zip"/>
            <unzip dest="${target}/javadoc">
                <patternset>
                    <include name="*/package-list"/>
                </patternset>
                <fileset refid="@{module}.docdeps"/>
            </unzip>

and the unzip step takes a very, very, long time to do nothing when the "doc" conf is empty.
If I replace the use of cachefileset with an explicit fileset that matches nothing, it runs
fast as expected.


> <cachefileset> on an empty configuration produces a very slow-to-evaluate fileset
> ---------------------------------------------------------------------------------
>
>                 Key: IVY-1272
>                 URL: https://issues.apache.org/jira/browse/IVY-1272
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.0-RC1
>         Environment: Ant 1.8.1
> Ivy 2.2.0-rc1
>            Reporter: Oliver Jowett
>            Priority: Minor
>
> If I declare a <cachefileset> for a configuration that is present but empty, I
get a fileset that (as expected) matches no files.
> The problem is that when used, that fileset decides to match no files by recursively
scanning all files starting from the current working directory (checked via strace and via
a JVM thread dump)
> In our case, often the CWD is the top of our build tree, so this takes a very long time
to work out that the fileset is in fact empty.
> Specifically, we're doing this (inside a macrodef)
>             <ivy:cachefileset setid="@{module}.docdeps" conf="doc" type="javadoc.zip"/>
>             <unzip dest="${target}/javadoc">
>                 <patternset>
>                     <include name="*/package-list"/>
>                 </patternset>
>                 <fileset refid="@{module}.docdeps"/>
>             </unzip>
> and the unzip step takes a very, very, long time to do nothing when the "doc" conf is
empty.
> If I replace the use of cachefileset with an explicit fileset that matches nothing, it
runs fast as expected.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message