You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-dev@ws.apache.org by "Rich Lucente (JIRA)" <ji...@apache.org> on 2007/09/04 17:18:46 UTC

[jira] Created: (MUSE-270) EMPTY_DOC thread stability issues

EMPTY_DOC thread stability issues
---------------------------------

                 Key: MUSE-270
                 URL: https://issues.apache.org/jira/browse/MUSE-270
             Project: Muse
          Issue Type: Bug
          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
    Affects Versions: 2.2.0, 2.1.0, 2.0.0, 2.0.0 M2, 2.0.0 M1, 2.3.0
         Environment: Impacts all platforms and configurations
            Reporter: Rich Lucente
            Assignee: Dan Jemiolo
             Fix For: 2.3.0


This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Vinh Nguyen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12558060#action_12558060 ] 

Vinh Nguyen commented on MUSE-270:
----------------------------------

Hi Chris,
Sorry, aminor correction to my previous comments...I agree that this issue is likely to happen in small-scale and single CPU boxes, too.  I still haven't been able to test your patch yet, but as long as you removed EMPTY_DOC, I'm guessing it will work.  I will still try to test your patch at some point.

So far, I believe this is the single most issue that prevents Muse from being 100% reliable in production environments with regards to propogating data between backends and clients.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590354#action_12590354 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

This is indeed necessary, I'll make another patch later today I hope.

Any code used in osgi that does "spi" type lookup will have this grief.  The Context classloader is evil :-).

Also for any one searching Jetty's (I also imagine other j2ee servers do this) recieving threads also set the context classloader to their webcontext's classloader.  This is the root cause of this, and other, osgi related problems.  Again for completeness this was also detected running a heavily patched axis 1.4 and muse (with 270) inside of an equinox osgi container (using the httpservlet bridge).

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588399#action_12588399 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

Hi Eitan,

great news.  I think I missed the AxisEnvironment because I simply don't use it :-)  But if thats the only one from using it, its a good sign.

I'd also like an early 2.3 to be released soon, also with 285, and 286 as added by Eitan.  I assume the only reason I haven't hit these yet is that I'm not having dynamic resource creation.

cheers,
Chris

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Resolved: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner resolved MUSE-270.
-------------------------------

    Resolution: Fixed

NOTE what isn't certain is how the pom changes for axis2 1.4 and jse 1.4 / 1.5 are resolved.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.2.1
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12564130#action_12564130 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

I was just given a new dual core laptop at work (core2 Duo, T7500 2.20Ghz).  As such I have run the tests again against my patched wholeMuseFixed.jar 5 times and it never misses a message (always 3000).  

With the normal must jars it gets NPE's and over 5 runs (messages out of 3000 sent): 2468, 2549, 2522, 2617 and 2420.  Strangely the gap is much less on this new machine (was 1300-1500 on my other single cpu boxes).

I'm now confident that this fixes the EMPTY_DOC and Xerces NodeList issues.  (Again the NodeList fix depends on Xerces never breaking nextSibling in an mt environment)

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Oliver Waeldrich (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oliver Waeldrich updated MUSE-270:
----------------------------------

    Attachment: epr-tests.zip

Test cases to reproduce the multi threading issues on the sample of muse EPR.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Eitan Plotnik (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631010#action_12631010 ] 

Eitan Plotnik commented on MUSE-270:
------------------------------------

Hi Chris,

Running wsdl2java with this code I've encountered another place that's missing an import to ducument before appendChild() is called at:
org.apache.muse.ws.resource.metadata.impl.WsrmdUtils.createMetadataDocument(MetadataDescriptor) method.

Eitan.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Vinh Nguyen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525248 ] 

Vinh Nguyen commented on MUSE-270:
----------------------------------

The following updates fix the multi-thread notifications issue for me:

1) Updated EndpointReference.java.  Changed all XmlUtils.EMPTY_DOC references to XmlUtil.createDocument().  This is because a resource's EPR and its Element representation can be accessed from multiple threads.

2) Updated SimpleNotificationMessage.toXML().  Changed XmlUtils.EMPTY_DOC reference to XmlUtils.createDocument().  This is because EndpointReference.toXML(Document) creates an Element and XmlUtils.getAllNamespaces(root) is called on it.

3) Updated NotificationConsumerClient.notify(NotificationMessage[] messages) to not assume that messages[x].toXML() will return an Element whose owner is EMPTY_DOC.
Changed these lines:
        Element notify = XmlUtils.createElement(WsnConstants.NOTIFY_QNAME);        
        for (int n = 0; n < messages.length; ++n)
            notify.appendChild(messages[n].toXML(), true);
To these lines:
        Document doc = XmlUtils.createDocument();
        Element notify = XmlUtils.createElement(doc, WsnConstants.NOTIFY_QNAME);
        for (int n = 0; n < messages.length; ++n)
            notify.appendChild(doc.importNode(messages[n].toXML(), true));



> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner updated MUSE-270:
------------------------------

    Attachment: MuseThreadSafety.zip

Attached simplified test for single cpus.  Also included is a patch from the 2.2.0 branch.  Is it possible that, if this patch is accepted, that this could be made a version 2.2.1 instead of in 2.3?

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Vinh Nguyen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vinh Nguyen updated MUSE-270:
-----------------------------

    Attachment: WsnErrorsTest.zip

Test case to see the errors generated when notifications are sent from multiple resources.  This is based on the Muse wsn-consumer and wsn-producer samples with some slight modifications.

Zip file includes:

1) wsnproducer.war - ready to deploy
2) wsnconsumer.war - ready to deploy
3) MyCapabilityImpl.java - producer source code which generates 100 notifications
4) ConsumerCapabilityImpl.java - consumer source code which periodically prints how many notifications it received
5) WsnTestClient.java - client source code which subscribes the consumer for notifications

To test, deploy both War files and run the client.  Then check the muse.log files of each deployed app.  You will see exceptions in both the producer and consumer related to EndpointReference problems.

Basically, 3 instances of the producer WsResource are initialized.  Each will print 100 notifications.  So the consumer should receive 300 notifications.

On average, I am seeing 1/3 of the notifications dropped using this simple test case.


> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656199#action_12656199 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

I have checked into head the changeset and created a tag https://svn.apache.org/repos/asf/webservices/muse/tags/2_2_0_with_270 that is basically just 2.2.0 with issue 270 in place, and upgrade poms to 1.4.1 of axis2 as per Richards request.

It should be noted that the build itself would no longer work with the old head configuration, it seems people have a habit of clearing out old versions of libraries from public maven repos :<

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner updated MUSE-270:
------------------------------

    Attachment: 270tsPatch3.txt

This patch includes the Axis2 environment import and the tls classloader fix as promised.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Vinh Nguyen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557947#action_12557947 ] 

Vinh Nguyen commented on MUSE-270:
----------------------------------

Looks like this issue is becoming very serious in high scale environments.  Because Muse uses EMPTY_DOC in so many places and objects, the general result is that when multiple threads attempt to access any object that's backed by EMPTY_DOC, various errors occur .  Mostly NullPointerExceptions happen because retrieved data comes out null.

So the problem isn't really apparent just with notifications or EPRs.  I encountered the same issue when multiple clients were calling Subscribe concurrently, and an NullPointerException occurred in SubscribeResponse line 89 as indicated in the code below:

        String currentString = XmlUtils.getElementText(xml, WsnConstants.CURRENT_TIME_QNAME);
        String terminationString = XmlUtils.getElementText(xml, WsnConstants.TERMINATION_TIME_QNAME);
        try
        {
            if (currentString != null)
                _currentTime = XsdUtils.getLocalTime(currentString);
            
            if (terminationString != null)
                _terminationTime = XsdUtils.getLocalTime(terminationString);             <--- NullPointerException occurred here because terminationString was null !!!
        }

The workaround to this issue is to not allow mutilple Subscribes (or any other operation) to execute concurrently, but this is not feasible.

This issue doesn't seem to happen in low-scale environments, or in single-processor machines where threads don't truly run in parallel.  But it happens often in high-scale or multi-processor machines. 

I think the real solution is to remove EMPTY_DOC completely.  There might be a performance hit because now a new Document needs to be created for every object, but that's not as serious as the multi-thread issue.  Also, trying to update code everywhere to synchronize access to an object backed by EMPTY_DOC (which really is because of Xerces limitation of not being thread-safe) is too much of a burden.  Muse is supposed to hide the fact that Xerces is used for DOM creation.



> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589875#action_12589875 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

Hi All,

thanks Rich, thats great news.  I have found that, for robustness, I need to make further changes to the patch.  It affects the TLS and in some cases interaction with tools that use the Thread.setContextClassLoader.

We have found that in an osgi environment with Apache Cayenne (I'm sure there are other problem areas and tools) the thread context classloader is being set for new threads, which conflicts with normal OSGi usage.  As such the DocumentBuilderFactory.newInstance(); has the wrong classloader and can fail.

I have changed the TLS code in my own code to:

  private static final ThreadLocal tls = new ThreadLocal(){
    	
    	ClassLoader cl = Thread.currentThread().getContextClassLoader();
    	
		protected Object initialValue() {

			//CTw fix for classloaders
			ClassLoader ct = Thread.currentThread().getContextClassLoader();
			Thread.currentThread().setContextClassLoader(cl);
			try{
		        //
		        // create the builder that will be shared throughout the process
		        //
		        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		        
		        //
		        // don't forget - turn on namespaces!!!
		        //
		        factory.setNamespaceAware(true);
		        
		        //
		        // we don't need comment nodes - they'll only slow us down
		        //
		        factory.setIgnoringComments(true);
		        
		        try
		        {
		            return factory.newDocumentBuilder();
		        }
		        
		        //
		        // this exception would be thrown if you have the DOM interfaces 
		        // but not the implementation
		        //
		        catch (ParserConfigurationException error)
		        {
		            throw new RuntimeException(error.getMessage(), error);
		        }
			} finally {
				// reset it
				Thread.currentThread().setContextClassLoader(ct);
			}
		}
	};

Since the very first time its used (via linking) should be acceptable I want to include it.  However I'm looking for feedback on this and wether its desired etc.

cheers,
Chris

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner updated MUSE-270:
------------------------------

    Attachment: muse_src.zip

This file includes the latest source in a copy and paste zip file :-<.  Unfortunately I can't get a decent svn diff to work out of eclipse, so I'm putting up all of the source.  I have noticed that some of the repo has unix and some windows line delimiters so I have no idea on how to get a decent diff.

A few other places have had fixes applied, but not many, and those relate to the importNode problem.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner updated MUSE-270:
------------------------------

    Attachment: 270tsPatch2.txt

This patch is provided by Rich against a clean pull from the 2.2.0 branch and my src changes.  (I also now know that I must always create a neww fresh pull of the branch before svn diffing :-) so future patches may also come directly from me).

Note so far I have not even started to cover the following modules src folders for code changes:

  muse-osgi-soa-axis2
  muse-util-logging
  muse-util-qname

and previews:

  muse-platform-jaxws
  muse-wsrt-api
  muse-wsrt-impl

In all cases I'll try and get them done some time in the next weeks.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557975#action_12557975 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

Hi Vinh, 

Could you please try the patched muse.jar and the test cases I attached mid october to see if they solve this issue (I got rid of EMPTY_DOC and the nodeList issue).  I still however don't have access to an smp or multi-core computer on which to test this out.

As of yet I have had zero feedback on the patch, please note that this still occurs on a single threaded cpu / system.  The test case I posted runs on a single cpu and attempts to prove/fix the threading issues regarding EMPTY_DOC.  Its not really a concern of mine if my solution is chosen as workable, just that its proven correct / incorrect and is discussed.  So far since no discussion has taken place on it I have no idea if it truly works. 

This must be solved for muse to be used seriously in any production environment.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12591662#action_12591662 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

The thread context patch isn't correct.  It should be :
       
    	// CTw for handling code that sets the context classloader when the TLS is used from a different thread context classloader.
    	// "this" is used as the initialization occurs on the correct classloader.  The current context classloader also can't be garaunteed.
    	ClassLoader cl = this.getClass().getClassLoader();
    	
Will attach a patch later

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566994#action_12566994 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

Having just forked muse internally, I noted that I've missed the WSRT stuff.  It wasn't on the build path from the eclipse project.  If this is needed I'm happy to patch this as well.  Just let me know.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Rich Lucente (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589705#action_12589705 ] 

Rich Lucente commented on MUSE-270:
-----------------------------------

Hi Chris,

I tested the patch with my message broker.  Other than the AxisEnvironment.convertToDOM mentioned previously, I had no problems.  On multiple runs, I pounded my broker with 10,000 messages and I got all 10,000 back.  The 5-10% message loss I was experiencing due to multi-threading is gone!  Thank you so much!

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567032#action_12567032 ] 

Chris Twiner commented on MUSE-270:
-----------------------------------

Having now integrated this patch specifically into a project, I can say its not complete.  Don't use this yet.  There are a number of places in Muse that appendChildren without importing them first.  Under the old EMPTY_DOC code this *worked* because they all belonged to EMPTY_DOC.

I will continue to figure out the places to change and upload another patch.

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Updated: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Chris Twiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Twiner updated MUSE-270:
------------------------------

    Fix Version/s:     (was: 2.3.0)
                   2.2.1

putting into 2.2.1 as its all binary compatible

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.2.1
>
>         Attachments: 270tsPatch2.txt, 270tsPatch3.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "E P (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577040#action_12577040 ] 

E P commented on MUSE-270:
--------------------------

Hi Chris,
Any updates regarding if/when an updated patch will be available?

Thanks!

> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: epr-tests.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org


[jira] Commented: (MUSE-270) EMPTY_DOC thread stability issues

Posted by "Eitan Plotnik (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MUSE-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588398#action_12588398 ] 

Eitan Plotnik commented on MUSE-270:
------------------------------------

Hi Chris,

I've tested the new patch (I had to compile the source you uploaded, it was newer than the jar within the previous zip).
It made all the exception I previously encountered go away.
I encountered only one place that I think was missing an import to ducument before appendChild() is called - AxisEnvironment.convertToDOM() method.


btw - 
Does someone know if it's possible to get an alpha version of 2.3?

Thanks,
Eitan.



> EMPTY_DOC thread stability issues
> ---------------------------------
>
>                 Key: MUSE-270
>                 URL: https://issues.apache.org/jira/browse/MUSE-270
>             Project: Muse
>          Issue Type: Bug
>          Components: Utilities - General, QName, and XML, WS-Addressing and SOAP
>    Affects Versions: 2.0.0 M1, 2.0.0 M2, 2.0.0, 2.1.0, 2.2.0, 2.3.0
>         Environment: Impacts all platforms and configurations
>            Reporter: Rich Lucente
>            Assignee: Dan Jemiolo
>             Fix For: 2.3.0
>
>         Attachments: 270tsPatch2.txt, epr-tests.zip, muse_src.zip, MuseThreadSafety.zip, WsnErrorsTest.zip
>
>
> This bug is being opened to track the EMPTY_DOC thread stability issue currently being discussed on the muse-dev mailing list.  XmlUtils provides EMPTY_DOC as a scratchpad instance of a DOM Document for creation of elements.  This has been shown to cause exceptions in a multi-threaded environment.  The issue is compounded by the widespread use of EMPTY_DOC in the code due to its convenience and the reduction in object creation when constructing XML fragments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org