java.util.ConcurrentModificationException

Pentaho BI Platform Tracking | Pavel Utko | 1 year ago
  1. 0

    Concurrent execution of org.pentaho.di.core.row.RowMeta.cloneRow couse an error. This situation may happens when multiple copies of the SelectValues step is executed. The error is in the following code (one copy of step executes the first loop and another copy goes throw the next loop): {noformat} public Object[] cloneRow( Object[] objects, Object[] newObjects ) throws KettleValueException { if ( valuesThatNeedRealClone == null ) { valuesThatNeedRealClone = new ArrayList<Integer>(); for ( int i = 0; i < size(); i++ ) { ValueMetaInterface valueMeta = getValueMeta( i ); if ( valueMeta.requiresRealClone() ) { valuesThatNeedRealClone.add( i ); } } } for ( Integer i : valuesThatNeedRealClone ) { ValueMetaInterface valueMeta = getValueMeta( i ); newObjects[i] = valueMeta.cloneValueData( objects[i] ); } return newObjects; } {noformat} The stack trace is: {noformat} java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:403) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:384) at com.google.corp.corpdata.pantheon.kettle.trans.steps.selectvalues.SelectValues.getRow(SelectValues.java:28) at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:337) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:745) java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:403) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:384) at com.google.corp.corpdata.pantheon.kettle.trans.steps.selectvalues.SelectValues.getRow(SelectValues.java:28) at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:337) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:745) {noformat}

    Pentaho BI Platform Tracking | 1 year ago | Pavel Utko
    java.util.ConcurrentModificationException
  2. 0

    Concurrent execution of org.pentaho.di.core.row.RowMeta.cloneRow couse an error. This situation may happens when multiple copies of the SelectValues step is executed. The error is in the following code (one copy of step executes the first loop and another copy goes throw the next loop): {noformat} public Object[] cloneRow( Object[] objects, Object[] newObjects ) throws KettleValueException { if ( valuesThatNeedRealClone == null ) { valuesThatNeedRealClone = new ArrayList<Integer>(); for ( int i = 0; i < size(); i++ ) { ValueMetaInterface valueMeta = getValueMeta( i ); if ( valueMeta.requiresRealClone() ) { valuesThatNeedRealClone.add( i ); } } } for ( Integer i : valuesThatNeedRealClone ) { ValueMetaInterface valueMeta = getValueMeta( i ); newObjects[i] = valueMeta.cloneValueData( objects[i] ); } return newObjects; } {noformat} The stack trace is: {noformat} java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:403) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:384) at com.google.corp.corpdata.pantheon.kettle.trans.steps.selectvalues.SelectValues.getRow(SelectValues.java:28) at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:337) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:745) java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:403) at org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:384) at com.google.corp.corpdata.pantheon.kettle.trans.steps.selectvalues.SelectValues.getRow(SelectValues.java:28) at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:337) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:745) {noformat}

    Pentaho BI Platform Tracking | 1 year ago | Pavel Utko
    java.util.ConcurrentModificationException
  3. 0

    Investigate concurrent modification exception

    GitHub | 2 years ago | rtyler
    java.util.ConcurrentModificationException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Can't Add Scene in main() Function Of GameObject

    GitHub | 2 years ago | SolarLune
    java.util.ConcurrentModificationException
  6. 0

    Restarting Scene Results in Crash

    GitHub | 2 years ago | SolarLune
    java.util.ConcurrentModificationException

  1. serious2monkeys 2 times, last 1 month ago
  2. eti22 4 times, last 2 months ago
  3. Tahir 1 times, last 4 months ago
  4. Shadd518 2 times, last 4 months ago
  5. haerick 1 times, last 6 months ago
5 more registered users
23 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.util.ConcurrentModificationException

    No message provided

    at java.util.ArrayList$Itr.checkForComodification()
  2. Java RT
    ArrayList$Itr.next
    1. java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    2. java.util.ArrayList$Itr.next(ArrayList.java:851)
    2 frames
  3. org.pentaho.di
    RowMeta.cloneRow
    1. org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:403)
    2. org.pentaho.di.core.row.RowMeta.cloneRow(RowMeta.java:384)
    2 frames
  4. com.google.corp
    SelectValues.getRow
    1. com.google.corp.corpdata.pantheon.kettle.trans.steps.selectvalues.SelectValues.getRow(SelectValues.java:28)
    1 frame
  5. org.pentaho.di
    RunThread.run
    1. org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:337)
    2. org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
    2 frames
  6. Java RT
    Thread.run
    1. java.lang.Thread.run(Thread.java:745)
    1 frame