ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Haberman (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IVY-1386) Disable DTD external fetching when not validation
Date Thu, 25 Oct 2012 21:47:12 GMT
Stephen Haberman created IVY-1386:
-------------------------------------

             Summary: Disable DTD external fetching when not validation
                 Key: IVY-1386
                 URL: https://issues.apache.org/jira/browse/IVY-1386
             Project: Ivy
          Issue Type: Bug
    Affects Versions: trunk
         Environment: Ivy 2.4.0.alpha/IvyDE 2.2.0.beta2
            Reporter: Stephen Haberman
         Attachments: disableExternalDtds.diff, ivyde-xml-dtd-hung.txt

Our team uses Ivy/IvyDE, and noticed Eclipse hanging today/yesterday, to the point of being
unusable.

I tracked it down to Eclipse asking IvyDE "is this your file?", which  IvyDE's IvySettingsContentDescriber
used XMLHelper.parse to answer, but then Xerces hung while trying to load the XML file's DTD.

So, the problem was the DTD being unavailable, but it seems like XMLHelper should turn this
off, especially if the schema parameter is null, and it's in non-validating mode.

The attached patch turns off external DTD fetching when XMLHelper is already in non-validating
mode.

This avoids the wire call, which speeds up the XMLHelper.parse by at least 100%, ~250-300ms
when fetching the DTD, to ~100-150ms when not. (And this is the happy case, in the worst case,
waiting for the timeout if the DTD is unavailable, takes ~20s).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message