I'm finding that some of my talend DI jobs are failing with a nullpointerexception at random times. Looking a the line of code failing, it is the tStatCatcher addMessage method being called to record the duration of the job, like the following example:
This only happens on components that happen to be within a parallel executed iteration flow (e.g. I'm running four at a time )
I capture the exception as part of the tStatCatcher framework
This is the exception message:
java.lang.RuntimeException:Child job running failed. java.lang.NullPointerException at reporting_etl.etl_con_job_0_1.etl_con_job$1tFileTouch_4Thread.run(etl_con_job.java:6737) at routines.system.ThreadPoolWorker.runIt(TalendThreadPool.java:159) at routines.system.ThreadPoolWorker.runWork(TalendThreadPool.java:150) at routines.system.ThreadPoolWorker.access$0(TalendThreadPool.java:145) at routines.system.ThreadPoolWorker$1.run(TalendThreadPool.java:122) at java.lang.Thread.run(Thread.java:745)
line 6737 is that addMessage method call above
I've noticed that Talend use a HashMap for putting and getting tStatCatcher messages, which is not thread safe and as this is in a parallel execution (threaded) then I'm assuming that it's a threading issue with the Talend Generated code, this combined with the fact that it is randomly happening leads me to believe that they should be using a Concurrent HashMap.
Does anyone have any advice on what I can do here, shall I raise a bug, or is there a work around for this?
Could you please clarify in which Talend version/edition you are?
Hi, I'm using
Talend Open Studio for Data Integration
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Watch the recorded webinar!
Pick up some tips and tricks with Context Variables
Learn how media organizations have achieved success with Data Integration
Look at6 ways to start utilizing Machine Learning with Amazon We Services and Talend