You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by A New Programmer <an...@gmail.com> on 2014/08/07 21:27:23 UTC

Question about XALANJ-2439 and "No more DTM IDs are available" DTMExceptions

Hi devs,

I am running a Java SE 1.6 project on Apache Tomcat 6.0. In one module of
the code, I try to call Transformer.transform(Source, Result). This
transformation works fine in 99.9% of the case except in one rare case
where I have an input that will result in a very large output (i.e. data
table with 23000+ rows). My XALAN JAR file is already at version 2.7.2.

In this case, I get a TransformException that contains a DTMException that
has the message as written on the title. I've tried researching this issue
on Google and Stack Overflow but they kept pointing me to pages on SAP JVM
and stuff regarding outdated JDK/XALAN's, both of which do not apply to my
case.

I'd like to know a couple of basic information:
1. What is a rough estimate of the upper limit that XALAN can handle? What
conditions can cause this error to legitimately throw?
2. Is XALANJ-2439 still unresolved in the latest XALAN version? It is
currently marked as unresolved?
3. Does allocating more memory to the JVM help?
4. Are there any workarounds?

Thanks.

Bob

Re: Question about XALANJ-2439 and "No more DTM IDs are available" DTMExceptions

Posted by Gary Gregory <ga...@gmail.com>.
Bob,

>From reading XALANJ-2439, the error you are getting is based on an internal
hard limit of 65536 DTM IDs.

Why 65536 and not another number is probably an indexing optimization of
some kind, I am not sure. I think the 16 bits of a DTM ID is stashed in
some larger structure.

Therefore, increasing RAM will not help. The JIRA seems to say that there
are DTM ID leaks, so that's another avenue of investigation.

If you are so inclined you could try to study the code to see how to
increase this internal limit.

The patches in the JIRA are old and may no longer apply to trunk (which is
in an unknown state) or the 2.7.x branch (
https://svn.apache.org/repos/asf/xalan/java/branches/xalan-j_2_7_1_maint)

I recently pushed out 2.7.2 but there are not many folks that are active on
this list ATM.

Gary


On Thu, Aug 7, 2014 at 3:27 PM, A New Programmer <
anewcsharpprogrammer@gmail.com> wrote:

> Hi devs,
>
> I am running a Java SE 1.6 project on Apache Tomcat 6.0. In one module of
> the code, I try to call Transformer.transform(Source, Result). This
> transformation works fine in 99.9% of the case except in one rare case
> where I have an input that will result in a very large output (i.e. data
> table with 23000+ rows). My XALAN JAR file is already at version 2.7.2.
>
> In this case, I get a TransformException that contains a DTMException that
> has the message as written on the title. I've tried researching this issue
> on Google and Stack Overflow but they kept pointing me to pages on SAP JVM
> and stuff regarding outdated JDK/XALAN's, both of which do not apply to my
> case.
>
> I'd like to know a couple of basic information:
> 1. What is a rough estimate of the upper limit that XALAN can handle? What
> conditions can cause this error to legitimately throw?
> 2. Is XALANJ-2439 still unresolved in the latest XALAN version? It is
> currently marked as unresolved?
> 3. Does allocating more memory to the JVM help?
> 4. Are there any workarounds?
>
> Thanks.
>
> Bob
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory