[ 
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]

Reply via email to