Subjects
Home
VOTE Move XML Commons to Xerces
Commented: (XERCESJ 589) Bug with pattern restriction on long strings
: Xerces J 2 8 1 Release on Wednesday, September 13th
: Xerces J 2 9 0 Release on Wednesday, November 22nd
Commented: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1178) Error getting prefix for an attribute with no n
Updated: (XERCESJ 1244) XMLSchemaValidator does not contribute element 's
Some consideration about the xerces DOM implementation
Updated: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1227) Poor performance / OutOfMemoryError for sequenc
retain exception stack traces
Updated: (XERCESJ 1193) NPE or hang when parsing using the "continue afte
Future of NekoHTML
Commented: (XERCESJ 1203) NPE in XMLDTDProcessor
DOM Level 3 APIs for Xalan J and a new Xalan release (2 7 1)
: xml commons external 1 3 04 Release on Wednesday, November 22nd
Commented: (XERCESJ 1247) Incorrect location information on SAX when usin
XInclude exceptions how to mirror Xerces J functionality into Xerces C++?
First proposal on SoC project "Add support for the StAX (JSR 173) cursor API
: xml commons resolver 1 2 Release on Wednesday, November 22nd
Typo in RangeToken java Please check
Validator features
java lang ClassCastException when adopting Node
using the org apache xerces impl xs identity package
Updated: (XERCESJ 1257) buffer overflow in UTF8Reader for characters out
Problem with ref attributes and schema validation
Updated: (XERCESJ 122) XMLSchemaValidator does not contribute element 's d
Performance problem under load Xerces with Weblogic 9 x
remove ignored memory allocation
Commented: (XERCESJ 1177) SAXXMLStreamReader doesn 't always report namesp
Commented: (XERCESJ 977) Null pointer exception during DOM parsing
Commented: (XERCESJ 1197) Code cleanup for org apache xml serialize
Commented: (XERCESJ 1201) Initial contribution for StAX Event API
Updated: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special c
Commented: (XERCESJ 1199) SAXXMLStreamReader should attempt to register a
Commented: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special
Updated: (XERCESJ 589) Bug with pattern restriction on long strings
StackOverflow
xerces Range unnecessarily not garbage collectable if not detached
Updated: (XERCESJ 1178) Error getting prefix for an attribute with no nam
Bug in xs:redefine
Commented: (XERCESJ 1204) Can not set XMLEntityResolver for LSParser
Updated: (XERCESJ 1253) Prototype for SoC2007 project "Add support for th
Updated: (XERCESJ 1259) Add SteamFilter Function to SoC2007 project "Add
Assigned: (XERCESJ 444) SAXException thrown by EntityResolver is reported
Google Summer of Code 2007
Xerces J and XInclude relative path issue
Assigned: (XERCESJ 206) Stack overflow when using a schema validation
Commented: (XERCESJ 1215) Restrictions involving two levels of substituti
Closed: (XERCESJ 1203) NPE in XMLDTDProcessor
non overriding equals methoda
Resolved: (XERCESJ 1079) invalid value returned for TOTALDIGITS facet in
Xerces AS3 port
Updated: (XERCESJ 325) Regular Expression; Pattern "| " clause order de
Updated: (XERCESJ 1196) Javadoc generation fails on Java SE 5 0
Closed: (XERCESJ 1202) DTD validation on XIncluded documents when the sch
Created: (XERCESJ 1124) Nonspecific schema error message
a bug in xerces
Updated: (XERCESJ 1201) Initial contribution for StAX Event API
Closed: (XERCESJ 1254) Empty uris in targetNamespace attribute not report
Links
Home
Oracle database error code
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Performance problem under load - Xerces with Weblogic 9.x

Performance problem under load - Xerces with Weblogic 9.x

2007-06-29       - By Rajesh Balamohan
Reply:     1     2     3  

Hello Folks,

We are using xerces parser for creating DOM objects. The size of the xml is
very small in the order or 1 or 2kb. Under load, most of the threads in
weblogic are blocked like the following.

And the CPU of the box is at 98% in a 4 way box. Looking at the stacktrace
below, I find that most of the time is spent in schema loading. There are
lots of threads with similar stack trace. Are there any known workarounds
for this problem?.

Is there a way to improve the XMLSchemaLoader?

The options we use during XML parser creation is as follows.. (Any help on
this issue would be of great help folks).

       // Build a parser to order.
                   p = new DOMParser();
                   p.setFeature("http://xml.org/sax/features/validation",
true);
                   p.setFeature("
http://apache.org/xml/features/validation/schema", true);
                   p.setFeature("
http://apache.org/xml/features/validation/schema/normalized-value", false);
                   p.setFeature("
http://apache.org/xml/features/dom/defer-node-expansion", false);

                   p.setEntityResolver(this);
                   p.setErrorHandler(this);

"[ACTIVE] ExecuteThread: '12' for queue:
'weblogic.kernel.Default(self-tuning)'" daemon prio=6 tid=0x54777e60
nid=0x138
0 waiting for monitor entry [0x544bf000..0x544bfb9c]
       at java.util.Hashtable.get(Hashtable.java:335)
       - waiting to lock <0x0c54f0f8> (a java.util.Hashtable)
       at
org.apache.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDWildcardTraverser.traverseAny(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDAbstractParticleTraverser
.traverseSeqChoice(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDAbstractParticleTraverser
.traverseSequence(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser
.processComplexContent(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser
.traverseComplexTypeDecl(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal
(Unknown
Source)
       at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement
(Unknown
Source)
       at
org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(Unknown
Source)
       at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas
(Unknown
Source)
       at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown
Source)
       at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(Unknown
Source)
       at org.apache.xerces.impl.xs.XMLSchemaValidator.findSchemaGrammar
(Unknown
Source)
       at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement
(Unknown
Source)
       at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown
Source)
       at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement
(Unknown
Source)
       at
org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher
.scanRootElementHook(Unknown
Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher
.dispatch(Unknown
Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
       at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)

--
~Rajesh.B

Hello Folks,<br><br>We are using xerces parser for creating DOM objects. The
size of the xml is very small in the order or 1 or 2kb. Under load, most of the
threads in weblogic are blocked like the following.<br><br>And the CPU of the
box is at 98% in a 4 way box. Looking at the stacktrace below, I find that most
of the time is spent in schema loading. There are lots of threads with similar
stack trace. Are there any known workarounds for this problem?.
<br><br>Is there a way to improve the XMLSchemaLoader?<br><br>The options we
use during XML parser creation is as follows.. (Any help on this issue would be
of great help folks).<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
Build a parser to order.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = new DOMParser();<br>&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; p.setFeature(&quot;<a href="http://xml.org/sax/features
/validation">http://xml.org/sax/features/validation</a>&quot;, true);<br>&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.setFeature
(&quot;<a href="http://apache.org/xml/features/validation/schema">http://apache
.org/xml/features/validation/schema</a>&quot;, true);<br>&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; p.setFeature(&quot;<a href="http://apache.org/xml/features
/validation/schema/normalized-value">
http://apache.org/xml/features/validation/schema/normalized-value</a>&quot;,
false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.setFeature(&quot;<a href=
"http://apache.org/xml/features/dom/defer-node-expansion">http://apache.org/xml
/features/dom/defer-node-expansion
</a>&quot;, false);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p
.setEntityResolver(this);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p
.setErrorHandler(this);<br><br>&quot;[ACTIVE] ExecuteThread: &#39;12&#39; for
queue: &#39;weblogic.kernel.Default (self-tuning)&#39;&quot; daemon prio=6 tid
=0x54777e60 nid=0x138
<br>0 waiting for monitor entry [0x544bf000..0x544bfb9c]<br>&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; at java.util.Hashtable.get(Hashtable.java:335)<br>&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - waiting to lock &lt;0x0c54f0f8&gt; (a
java.util.Hashtable)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org
.apache.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes(Unknown Source)<br
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDWildcardTraverser.traverseAny(Unknown Source)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDAbstractParticleTraverser.traverseSeqChoice(Unknown Source)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDAbstractParticleTraverser.traverseSequence(Unknown Source)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDComplexTypeTraverser.processComplexContent(Unknown Source)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(Unknown Source)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDComplexTypeTraverser.traverseGlobal(Unknown Source)<br>&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs.traversers
.XSDHandler.getGlobalDecl(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp; at org.apache.xerces.impl.xs.traversers.XSDElementTraverser
.traverseNamedElement
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(Unknown Source)<br
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.traversers.XSDHandler.traverseSchemas(Unknown Source)<br>&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown Source)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.XMLSchemaLoader.loadSchema(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; at org.apache.xerces.impl.xs.XMLSchemaValidator.findSchemaGrammar
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)<br>&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.xs
.XMLSchemaValidator.startElement(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; at org.apache.xerces.impl.XMLNSDocumentScannerImpl
.scanStartElement
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.xerces.parsers
.XML11Configuration.parse(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp; at org.apache.xerces.parsers.XML11Configuration.parse
(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.apache
.xerces.parsers.XMLParser.parse(Unknown Source)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp; at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)<br
clear="all"><br>-- <br>~Rajesh.B