Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-2627

Adding multiple transform using addTransform consumes huge memory and cause OOM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None

    Description

      We are using XALAN for XSLT transformation. We have around 10 transformer. Our pattern is

       

      Transformation.builder(transformationFactory)
      .setUseInterpreter(true)
      .setLogger(log)
      .setSource(some source))
      .setResult(some target)
      .addTransform(Handler1())
      .addTransform(Handler2())
      .addTransform(Handler3())
      .addTransform(Handler4())
      .addTransform(Handler5())
      .addTransform(Handler6())
      .addTransform(Handler7())
      .addTransform(Handler8())
      .addTransform(Handler9())
      .addTransform(Handler10())
      .addTransform(Handler11())
      .addTransform(Handler12())
      .build()
      .transform();

       

      This pattern seems to take lots of memory. But if  we do them individually 12 times (by using output of 1 as input of another), memory usage get reduced.

       

      Transformation.builder(transformationFactory)
      .setUseInterpreter(true)
      .setLogger(log)
      .setSource(some source))
      .setResult(some target)
      .addTransform(Handler1())

      .build()
      .transform();

       

      It seems Xalan is holding unnecessary memory for the 1st type of pattern

       

      Attachments

        Activity

          People

            ggregory Gary D. Gregory
            Bhuiya Subhajit
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: