Hitachi Vantara Pentaho Community Forums
Results 1 to 4 of 4

Thread: ArrayIndexOutOfBoundsException when doing an update

  1. #1
    Join Date
    Jun 2008
    Posts
    25

    Default ArrayIndexOutOfBoundsException when doing an update

    When I do an Update step, occasionally, I get this error. I'm not sure how to consistently repro it.

    DEBUG 13-08 16:30:21,547 (LogWriter.javarintln:405) -Update Existing Fact Attempt 2.0 - Values set for lookup: [3011], [5143], [F], input row: [243138], [Heartbeat], [3011], [2008/08/13 16:28:48.000], [870512], [6000], [null], [null], [5143], [14400], [5417], [244], [2123], [F], [2008/08/13 16:30:19.846], [BDDC195A-8071-D5F3-ECD8-BCD8ADDD8D00], [F], [T]
    ERROR 13-08 16:30:21,551 (LogWriter.javarintln:403) -Update Existing Fact Attempt 2.0 - Unexpected error :
    ERROR 13-08 16:30:21,558 (LogWriter.javarintln:403) -Update Existing Fact Attempt 2.0 - java.lang.ArrayIndexOutOfBoundsException: 18
    at org.pentaho.di.trans.steps.update.Update.lookupValues(Update.java:170)
    at org.pentaho.di.trans.steps.update.Update.processRow(Update.java:248)
    at org.pentaho.di.trans.steps.update.Update.run(Update.java:470)

    I looked at the code, but it seems like it happens as a result of the outputRowMeta.size (at Update.java, line 53) not having the correct meta data for a row...as in, it's probably missing an extra column/entry to store the "Ignore Lookup Failure" flag.

    Has anyone seen something like this?
    Koichi

  2. #2
    Join Date
    Nov 1999
    Posts
    9,729

    Default

    Mixing rows with different layouts? Using an older version of Kettle?

  3. #3
    Join Date
    Jun 2008
    Posts
    25

    Default

    Hi Matt,

    Thanks for your response.

    I'm using 3.0.4GA which I believe is the newest stable release (as in, not RC). Also, the input to the update step only comes from one source. Data going in seems to be good. This error doesn't happen every run either. I'll run it with the same data set, yet, this array index out of bound exception happens every few runs.

    I tried making a smaller subset to try to repro this but haven't been able to.

    Can someone familiar with this specific part of the code perhaps tell me where the header for the "Ignore lookup failure" is being added to the rest of the input meta-data. The code seems to assume that the last spot in the array is available to store whether the lookup failure should be ignored or not, but since the row meta-data doesn't seem to include it for when I run it once in a while, it tries to save the ignore lookup failure status to an array outside of the boundary.

    Thanks!
    Koichi

  4. #4
    Join Date
    Jun 2008
    Posts
    25

    Default

    I found a consistent repro, and Jira-ed it: http://jira.pentaho.com/browse/PDI-1593

    Now, hopefully someone will tell me that I have a screwy Transformation, or this is a legitiment bug.

    Thanks!
    Koichi

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.