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

Null Pointer exception is thrown in Oracle Bulk Loader when the data have Trailing Nulls.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Severity: High
    • Resolution: Done
    • Affects Version/s: 8.2.0 GA
    • Fix Version/s: 9.1.0 GA
    • Component/s: Step
    • Labels:
    • Story Points:
      0
    • PDI Sub-component:
    • 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.
    • Sprint Team:
      Tatooine (Maint)
    • Steps to Reproduce:
      Hide
      • Open the attached transformation using Spoon client.
      • Configure Oracle Database Connection in Oracle Bulk Loader.
      • Make changes to the SQLLDR, Control File etc., according to your environment.
      • Execute the transformation.
      • We should see a NullPointerException error message.
      Show
      Open the attached transformation using Spoon client. Configure Oracle Database Connection in Oracle Bulk Loader. Make changes to the SQLLDR, Control File etc., according to your environment. Execute the transformation. We should see a NullPointerException error message.

      Description

      When trying to execute the Oracle Bulk Loader when the data has trailing nulls, we see the below NullPointerException,

       

      2019/05/20 18:04:41 - Oracleバルクロード.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 予期せぬエラー 
      2019/05/20 18:04:41 - Oracleバルクロード.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : java.lang.NullPointerException 
      2019/05/20 18:04:41 - Oracleバルクロード.0 - at org.pentaho.di.trans.steps.orabulkloader.OraBulkDataOutput.writeLine(OraBulkDataOutput.java:152) 
      2019/05/20 18:04:41 - Oracleバルクロード.0 - at org.pentaho.di.trans.steps.orabulkloader.OraBulkLoader.processRow(OraBulkLoader.java:563) 
      2019/05/20 18:04:41 - Oracleバルクロード.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
      
      

      2019/05/20 18:04:41 - Oracleバルクロード.0 - at java.lang.Thread.run(Unknown Source)
      When the Oracle Bulk Loader is executed, a sqlldr file in which the load commands are defined is automatically created even if the execution of the bulk loader ended with error. After the execution of Oracle Bulk Loader ended with error, the customer added "TRAILING NULLCOLS" option to the load commands in the sqlldr control file, and directly executed sqlldr file against oracle, then the data load properly finished without having the NullPointerException error.

      We even tried adding the TRAILING NULLCOLS option to the Control File(.cfg) and then executed the transformation. We noticed that the .cfg file which we modified to add TRAILING NULLCOLS gets replaced with a new file each time the transformation is executed.

        Attachments

          Activity

            People

            Assignee:
            Daniela.almeida Daniela Guedes de Almeida
            Reporter:
            nprakash Nikhil Prakash
            Votes:
            1 Vote for this issue
            Watchers:
            10 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: