java.util.ConcurrentModificationException

Pentaho BI Platform Tracking | Evgeny Minkevich | 7 months ago
  1. 0

    A job that has been running successfully on 5.0.2, when migrated to 5.4.0.4 started to fail: {code} 2016/03/27 04:40:09 - Get PDI Batch Id 2.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : Unexpected error 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : java.util.ConcurrentModificationException 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.util.Hashtable$Enumerator.next(Hashtable.java:1167) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.util.HashMap.putAll(HashMap.java:642) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.util.StringUtil.environmentSubstitute(StringUtil.java:238) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.variables.Variables.environmentSubstitute(Variables.java:163) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.base.AbstractMeta.environmentSubstitute(AbstractMeta.java:1182) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.DatabaseMeta.environmentSubstitute(DatabaseMeta.java:2566) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.DatabaseMeta.getQuotedSchemaTableCombination(DatabaseMeta.java:1538) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.Database.getInsertStatement(Database.java:1210) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:237) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:118) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.lang.Thread.run(Thread.java:745) {code} The job is being executed concurrently. When I checked closer it seemed that Variables.java does not synchronise access to the Hashtable used for storing variables. When I have included synchronisation - all worked OK. Attaching the patch for version 5.4.0.4-R.

    Pentaho BI Platform Tracking | 7 months ago | Evgeny Minkevich
    java.util.ConcurrentModificationException
  2. 0

    A job that has been running successfully on 5.0.2, when migrated to 5.4.0.4 started to fail: {code} 2016/03/27 04:40:09 - Get PDI Batch Id 2.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : Unexpected error 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : java.util.ConcurrentModificationException 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.util.Hashtable$Enumerator.next(Hashtable.java:1167) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.util.HashMap.putAll(HashMap.java:642) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.util.StringUtil.environmentSubstitute(StringUtil.java:238) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.variables.Variables.environmentSubstitute(Variables.java:163) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.base.AbstractMeta.environmentSubstitute(AbstractMeta.java:1182) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.DatabaseMeta.environmentSubstitute(DatabaseMeta.java:2566) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.DatabaseMeta.getQuotedSchemaTableCombination(DatabaseMeta.java:1538) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.core.database.Database.getInsertStatement(Database.java:1210) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:237) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:118) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2016/03/27 04:40:09 - Load SKI to loadP_SKI_Cust_au.0 - at java.lang.Thread.run(Thread.java:745) {code} The job is being executed concurrently. When I checked closer it seemed that Variables.java does not synchronise access to the Hashtable used for storing variables. When I have included synchronisation - all worked OK. Attaching the patch for version 5.4.0.4-R.

    Pentaho BI Platform Tracking | 7 months ago | Evgeny Minkevich
    java.util.ConcurrentModificationException
  3. 0

    ConcurrentModificationException

    GitHub | 3 years ago | sytolk
    java.util.ConcurrentModificationException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

    1 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.Hashtable$Enumerator.next()
    2. Java RT
      HashMap.putAll
      1. java.util.Hashtable$Enumerator.next(Hashtable.java:1167)
      2. java.util.HashMap.putAll(HashMap.java:642)
      2 frames
    3. org.pentaho.di
      RunThread.run
      1. org.pentaho.di.core.util.StringUtil.environmentSubstitute(StringUtil.java:238)
      2. org.pentaho.di.core.variables.Variables.environmentSubstitute(Variables.java:163)
      3. org.pentaho.di.base.AbstractMeta.environmentSubstitute(AbstractMeta.java:1182)
      4. org.pentaho.di.core.database.DatabaseMeta.environmentSubstitute(DatabaseMeta.java:2566)
      5. org.pentaho.di.core.database.DatabaseMeta.getQuotedSchemaTableCombination(DatabaseMeta.java:1538)
      6. org.pentaho.di.core.database.Database.getInsertStatement(Database.java:1210)
      7. org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:237)
      8. org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:118)
      9. org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
      9 frames
    4. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:745)
      1 frame