[ https://issues.apache.org/jira/browse/TUSCANY-990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462271 ]
Yang ZHONG commented on TUSCANY-990: ------------------------------------ A different WindowsPath.support implemented with xmlCanonicPath has been attached. The patch only affects Windows runtime. Tests on Windows XP SP2 before the patch: Test Failed: 115 sdotest::cloneopentest() Total tests:117 Tests passed:116 Tests on Windows XP SP2 after the patch: Test Failed: 115 sdotest::cloneopentest() Total tests:117 Tests passed:116 > Avoid duplicated/infinite loading > --------------------------------- > > Key: TUSCANY-990 > URL: https://issues.apache.org/jira/browse/TUSCANY-990 > Project: Tuscany > Issue Type: Improvement > Components: C++ SDO > Affects Versions: Cpp-current > Reporter: Yang ZHONG > Fix For: Cpp-current > > Attachments: AvoidInfiniteLoading.990, AvoidInfiniteLoading.990, > WindowsPath.support, WindowsPath.support, XSDHelperImpl.990 > > > While working on http://issues.apache.org/jira/browse/TUSCANY-907 > I've observed duplicated XSD loading. It could be infinite loading. I might > have a way to avoid that. > http://pecl.php.net/bugs/bug.php?id=9243 > has the Test Case: > 1. http://ping.chip.org/phr/xml/insurance.xsd imports > http://ping.chip.org/phr/xml/types.xsd > 2. http://ping.chip.org/phr/xml/insurance.xsd imports > http://ping.chip.org/phr/xml/contact.xsd which also imports > http://ping.chip.org/phr/xml/types.xsd > I've observed http://ping.chip.org/phr/xml/types.xsd is loaded/parsed > multiple times during loading http://ping.chip.org/phr/xml/insurance.xsd > That impacts performance, especially types.xsd is remote. > More deadly, that may cause infinite loading or stack overflow. > Imagine A imports B which imports A, or X imports Y which imports Z which > imports X. > We can have a LoadingContext/ResourceSet to cache loaded/parsed resources, > and reuse parsing results if a location/URI has been loaded/parsed already. > 3-1. The LoadingContext/ResourceSet can be a Thread Local > 3-2. The LoadingContext/ResourceSet can be explicitly passed into each parser > 3-3. Currently ParserErrorSetter is explicitly passed into each parser, which > can host the LoadingContext/ResourceSet > Above has been discussed on thread > http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg11793.html > and Caroline has also requested this improvement > (http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg11839.html) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]