Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Templates/Transformers + thread safety???

Templates/Transformers + thread safety???

2007-02-28       - By Erin Harris
Reply:     1     2     3     4     5     6     7  

Hi Tom,

I can't see anything wrong with your code so it looks like a bug.  Please
open a JIRA issue here: https://issues.apache.org/jira/browse/XALANJ

Thanks.

Erin Harris





Tom Fennelly <tom.fennelly@(protected)>
28/02/2007 10:22 AM

To
Erin Harris/Toronto/IBM@(protected)
cc
xalan-j-users@(protected)
Subject
Re: Templates/Transformers + thread safety???






Hi Erin.

I spotted it initially on a dual core (Dell D820), but I've also run and
reproduced it on a single processor machine (I just verified this again
before replying).

What are you think?  Some sort of shared memory issue or something?  Is
it something I'm doing do you think?

T.


Erin Harris wrote:
>
> Hi Tom,
>
> I couldn't reproduce the problem using Stream and Xalan 2.7.0 but I
> could reproduce it using DOM. Are you on a multiprocessor machine or a
> single processor machine?
>
> Thanks.
>
> Erin Harris
>
>
>
>
> *Tom Fennelly <tom.fennelly@(protected)>*
>
> 27/02/2007 10:23 AM
>
>
> To
>                Erin Harris/Toronto/IBM@(protected)
> cc
>                xalan-j-users@(protected)
> Subject
>                Re: Templates/Transformers + thread safety???
>
>
>
>
>
>
>
>
>
> Thanks Erin.
>
> I've updated that test download to include testing against stream
> source/result instances.  Still getting unexpected results on these
> (stream source/result) when not synschronizing on the template
> instance.  Zip available at
> http://milyn.codehaus.org/xalan/xalan-test-v2.zip (zip also includes the
> milyn jar).
>
> Thanks again Erin.
>
> Regards,
>
> Tom.
>
>
> Erin Harris wrote:
> >
> > Hi Tom,
> >
> > I couldn't run your test case as I don't have the milyn classes.  Have
> > you tried using StreamSource and StreamResult to see if you get the
> > same problem?
> >
> > Thanks.
> >
> >
> > Erin Harris
> >
> >
> >
> >
> > *Tom Fennelly <tom.fennelly@(protected)>*
> >
> > 26/02/2007 02:29 PM
> >
> >
> > To
> >                  xalan-j-users@(protected)
> > cc
> >
> > Subject
> >                  Templates/Transformers + thread safety???
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi.
> >
> > While running some tests I noticed something strange - applying
> > transformations concurrently + unsynchronized using the same template
> > instance *appears* to be yielding unexpected results i.e. if I
> > synchronize transformations across the threads (synchronize on the
> > template instance) I have no issues.  I'm quite sure I'm doing
> > something wrong here but haven't found the answer.
> >
> > I packaged up the test in a maven2 project
> > (_http://milyn.codehaus.org/xalan/xalan-test.zip_).  If you run the
> > junit test from the download you'll not see any errors because the
> > transform step is synchronized on the template instance
> > (XsltConcurrentTest.java, line 168).  If you remove the
> > synchronization, you start getting errors.
> >
> > My understanding was that I should be able to load a stylesheet into a
> > single instance of javax.xml.transform.Templates and then, on each
> > Thread, create and use new Transformer instance through a call to
> > Templates.newTransformer().transform(...).  Is this wrong??
> >
> > Environment:
> >
> >     * Windows XP
> >     * jdk1.5.0_10
> >     * Xalan 2.7.0
> >     * Xerces 2.7.1
> >     * xml-apis 1.3.02
> >
> > I have taken a look around for an answer to this, but I fear that it
> > may be something silly I'm doing, so I apologize in advance :-[
> >
> > Regards,
> >
> > Tom.
>



<br><font size=2 face="sans-serif">Hi Tom,</font>
<br>
<br><font size=2 face="sans-serif">I can't see anything wrong with your
code so it looks like a bug. &nbsp;Please open a JIRA issue here: </font><a
href=https://issues.apache.org/jira/browse/XALANJ><font size=2 color=blue face=
"sans-serif">https://issues.apache.org/jira/browse/XALANJ</font></a>
<br>
<br><font size=2 face="sans-serif">Thanks.<br>
<br>
Erin Harris<br>
<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Tom Fennelly &lt;tom.fennelly
@(protected)&gt;</b>
</font>
<p><font size=1 face="sans-serif">28/02/2007 10:22 AM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">Erin Harris/Toronto/IBM@(protected)</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">xalan-j-users@(protected)</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: Templates/Transformers + thread
safety???</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>Hi Erin.<br>
<br>
I spotted it initially on a dual core (Dell D820), but I've also run and
<br>
reproduced it on a single processor machine (I just verified this again
<br>
before replying).<br>
<br>
What are you think? &nbsp;Some sort of shared memory issue or something?
&nbsp;Is <br>
it something I'm doing do you think?<br>
<br>
T.<br>
<br>
<br>
Erin Harris wrote:<br>
&gt;<br>
&gt; Hi Tom,<br>
&gt;<br>
&gt; I couldn't reproduce the problem using Stream and Xalan 2.7.0 but
I <br>
&gt; could reproduce it using DOM. Are you on a multiprocessor machine
or a <br>
&gt; single processor machine? &nbsp;<br>
&gt;<br>
&gt; Thanks.<br>
&gt;<br>
&gt; Erin Harris<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; *Tom Fennelly &lt;tom.fennelly@(protected)&gt;*<br>
&gt;<br>
&gt; 27/02/2007 10:23 AM<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; To<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Erin
Harris/Toronto/IBM@(protected)<br>
&gt; cc<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xalan-j
-users@(protected)<br>
&gt; Subject<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Re:
Templates/Transformers + thread safety???<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks Erin.<br>
&gt;<br>
&gt; I've updated that test download to include testing against stream<br>
&gt; source/result instances. &nbsp;Still getting unexpected results on
these<br>
&gt; (stream source/result) when not synschronizing on the template<br>
&gt; instance. &nbsp;Zip available at<br>
&gt; http://milyn.codehaus.org/xalan/xalan-test-v2.zip (zip also includes
the<br>
&gt; milyn jar).<br>
&gt;<br>
&gt; Thanks again Erin.<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Tom.<br>
&gt;<br>
&gt;<br>
&gt; Erin Harris wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hi Tom,<br>
&gt; &gt;<br>
&gt; &gt; I couldn't run your test case as I don't have the milyn classes.
&nbsp;Have<br>
&gt; &gt; you tried using StreamSource and StreamResult to see if you get
the<br>
&gt; &gt; same problem?<br>
&gt; &gt;<br>
&gt; &gt; Thanks.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Erin Harris<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; *Tom Fennelly &lt;tom.fennelly@(protected)&gt;*<br>
&gt; &gt;<br>
&gt; &gt; 26/02/2007 02:29 PM<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; &gt; To<br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xalan-j
-users@(protected)<br>
&gt; &gt; cc<br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; &gt; Subject<br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp
;Templates/Transformers
+ thread safety???<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Hi.<br>
&gt; &gt;<br>
&gt; &gt; While running some tests I noticed something strange - applying<br>
&gt; &gt; transformations concurrently + unsynchronized using the same
template<br>
&gt; &gt; instance *appears* to be yielding unexpected results i.e. if
I<br>
&gt; &gt; synchronize transformations across the threads (synchronize on
the<br>
&gt; &gt; template instance) I have no issues. &nbsp;I'm quite sure I'm
doing<br>
&gt; &gt; something wrong here but haven't found the answer.<br>
&gt; &gt;<br>
&gt; &gt; I packaged up the test in a maven2 project<br>
&gt; &gt; (_http://milyn.codehaus.org/xalan/xalan-test.zip_). &nbsp;If
you run the<br>
&gt; &gt; junit test from the download you'll not see any errors because
the<br>
&gt; &gt; transform step is synchronized on the template instance<br>
&gt; &gt; (XsltConcurrentTest.java, line 168). &nbsp;If you remove the<br>
&gt; &gt; synchronization, you start getting errors.<br>
&gt; &gt;<br>
&gt; &gt; My understanding was that I should be able to load a stylesheet
into a<br>
&gt; &gt; single instance of javax.xml.transform.Templates and then, on
each<br>
&gt; &gt; Thread, create and use new Transformer instance through a call
to<br>
&gt; &gt; Templates.newTransformer().transform(...). &nbsp;Is this wrong??<br>
&gt; &gt;<br>
&gt; &gt; Environment:<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; * Windows XP<br>
&gt; &gt; &nbsp; &nbsp; * jdk1.5.0_10<br>
&gt; &gt; &nbsp; &nbsp; * Xalan 2.7.0<br>
&gt; &gt; &nbsp; &nbsp; * Xerces 2.7.1<br>
&gt; &gt; &nbsp; &nbsp; * xml-apis 1.3.02<br>
&gt; &gt;<br>
&gt; &gt; I have taken a look around for an answer to this, but I fear
that it<br>
&gt; &gt; may be something silly I'm doing, so I apologize in advance :-[<br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt;<br>
&gt; &gt; Tom.<br>
&gt;<br>
</font></tt>
<br>