Uploaded image for project: 'Pentaho Data Integration - Kettle'
  1. Pentaho Data Integration - Kettle
  2. PDI-19114

Recursive transformation: Calls to LoggingObject.equals() exponentially increases as the recursive depth increases

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Severity: High
    • Resolution: Unresolved
    • Affects Version/s: 8.3.0 GA, 8.3.0.16 GA, 8.3.0.18 GA
    • Fix Version/s: Backlog
    • Component/s: Pentaho Server (DI), Step
    • Labels:
      None
    • Story Points:
      0
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.
    • Steps to Reproduce:
      Hide

      1. run Job.kjb in Spoon. This should almost immediately freeze up after reaching a depth of around 12 for the first row which can be identified by this log:

      2021/03/10 12:39:46 - SubTransLogGetRow.0 - rowData = 1012
      Show
      1. run  Job.kjb in Spoon. This should almost immediately freeze up after reaching a depth of around 12 for the first row which can be identified by this log: 2021/03/10 12:39:46 - SubTransLogGetRow.0 - rowData = 1012

      Description

      This issue was found out while debugging the issue in ESR-7316. this was found while using the transformation executor step.

      This scenario likely occurs due to a bug fix in 5.1 where logging was changed to know a transformation's parent trans. PDI-11274. The issue occurs specifically because a log is created for each step in BaseStep.java

      log = KettleLogStore.getLogChannelInterfaceFactory().create( this, trans );

      and then LoggingObject.equals() calls itself recursively exponentially increasing calls to this code until the system appears to completely stop. As far as I can tell there are no deadlocks, etc, just the sheer number of calls to LoggingObject.equals() exponentially increases as the recursive depth increases.

       

        PractiTest Integration




          Attachments

          1. DrivingTrans.ktr
            16 kB
          2. Job.kjb
            12 kB
          3. SubTrans.ktr
            20 kB

            Issue Links

              Activity

                People

                Assignee:
                Unassigned Unassigned
                Reporter:
                jagdeeshss Jagdeeshss
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated: