Hi Christoph,

Thanks for reporting and providing patch for the issue! Looks like a nice solution that may potentially reduce memory requirement for some large templates. Could you also verify that the patch also fixes JDK-8150699 [1] that was created the same day as yours?

I assume the stylesheet is created to just illustrate the issue. If it's a real use case, then it should have made the variable global to avoid creating a lot of RTFs, and therefore avoid the whole "No more DTM IDs" issue. It would make the process a lot more efficient.

Some classes, such as Sort.java, still contain the old header, please update them with the new ones such as that in DOM.java.

The $Id section, such as the following, can all be removed, they were from legacy repository, misleading since it implies the file was last updated, in this case, in 2005:

  20 /*
  21  * $Id: Sort.java,v 1.2.4.1 2005/09/12 11:08:12 pvedula Exp $
  22  */


For the new test, it's probably better to add some kind of assertion in the test, e.g. expected result, than failing on a broad Exception. What if the test passes but the transform operation isn't because of the changes?

The test is also not sufficient. The release methods seem to be okay. However, they don't seem to have been fully exercised in the test (only simple RTs were created?). In that sense, the sample attached in JDK-8150699 provided an opportunity to better verify the changes.

It would be good to add some javadoc or dev notes to the test. While consolidating tests (into TransformerTest), please make sure notes/javadoc are copied over or added.

[1] https://bugs.openjdk.java.net/browse/JDK-8150699

Thanks,
Joe

On 3/3/2016 11:50 PM, Langer, Christoph wrote:
Hi,

Ping - any comments or reviews for this bugfix?

Thanks
Christoph

From: Langer, Christoph
Sent: Freitag, 26. Februar 2016 16:02
To: core-libs-dev@openjdk.java.net
Subject: RFR: JDK-8150704 XALAN: ERROR: 'No more DTM IDs are available' when 
transforming with lots of temporary result trees

Hi,

I've created a fix proposal for the issue I have reported in this bug:
https://bugs.openjdk.java.net/browse/JDK-8150704

The webrev can be found here:
http://cr.openjdk.java.net/~clanger/webrevs/8150704.1/

The Xalan parser would eventually run out of DTM IDs if xsl transformations 
involve lots of temporary result trees. Those are never released although they 
could. A testcase is included for this. I've also done some cleanups in the 
Xalan code and in the tests.

Thanks in advance for looking at this :)

Best regards
Christoph


Reply via email to