Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello Community,
I Use Job Scheduler to execute the jobs talend, i got an issue on 2 jobs (sometime the jobs works correctly, sometime no) but i didn't found any explication (The problem is not related to the build of many jobs in the same zip because i build the job one by one in different zip)
- I use Talend Version: 8.0.1 / Build id: R2023-11
Error :
[info] [stderr] Exception in thread "main" java.lang.NoClassDefFoundError: routines/system/JobStructureCatcherUtils
[info] [stderr] at dalitalend.publiccloudaccountazure_dali_0_4.PublicCloudAccountAzure_Dali.<init>(PublicCloudAccountAzure_Dali.java:238)
[info] [stderr] at dalitalend.publiccloudaccountazure_dali_0_4.PublicCloudAccountAzure_Dali.main(PublicCloudAccountAzure_Dali.java:25311)
[info] [stderr] Caused by: java.lang.ClassNotFoundException: routines.system.JobStructureCatcherUtils
[info] [stderr] at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
[info] [stderr] at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
[info] [stderr] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
[info] [stderr] at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
Does this problem affects all of your jobs or only a few?
Which Java version do you use for the studio?
No just 2 jobs, but sometime the jobs works correctly sometime no.
The java version is : 11.0.22
I use Talend Data Management Plateform (R2023-11v2)
I create a new test job to check the code created, i noticed that the JobStructureCatcherUtils happen after putting the first component.
import routines.Numeric;
import routines.DataOperation;
import routines.TalendDataGenerator;
import routines.TalendStringUtil;
import routines.TalendString;
import routines.StringHandling;
import routines.Relational;
import routines.TalendDate;
import routines.Mathematical;
import routines.SQLike;
import routines.system.*;
import routines.system.api.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.util.Comparator;
////code
private final JobStructureCatcherUtils talendJobLog = new JobStructureCatcherUtils(jobName,
"_mO93wNY3Ee6fs4RuBPE5gg", "0.1");
for (JobStructureCatcherUtils.JobStructureCatcherMessage jcm : talendJobLog.getMessages()) {
org.talend.job.audit.JobContextBuilder builder_talendJobLog = org.talend.job.audit.JobContextBuilder
.create().jobName(jcm.job_name).jobId(jcm.job_id).jobVersion(jcm.job_version)
.custom("process_id", jcm.pid).custom("thread_id", jcm.tid).custom("pid", pid)
.custom("father_pid", fatherPid).custom("root_pid", rootPid);
org.talend.logging.audit.Context log_context_talendJobLog = null;
if (jcm.log_type == JobStructureCatcherUtils.LogType.PERFORMANCE) {
long timeMS = jcm.end_time - jcm.start_time;
String duration = String.valueOf(timeMS);
Is not related to log4j ?
No, I do not think it has something to do with Log4J. It looks like what is related to an audit log.
Meanwhile I can find this code also in my jobs (we run a Data Integration Edition).
I will try to find out why this code is inside our jobs.
For the time being, please run an full pom rebuild.
Project Settings->Build->Maven->Force full re-synchronize POMs
I did it and i will give you a feedback after a few days to test the execution.
I did the re-synchronize but today morning i got the same issue in one job.
I guess the issue is not related to Talend but it's related to the Job Scheduler and the parallel execution of jobs.
I confirm that the issue is related to the parallel execution of Talend jobs in the Job Scheduler.
To fix the issue we added the sleep commande (secondes) for each job in parralel (sleep 2, sleep 4, ....).
Thats strange. I think the best way to handle it is file a support ticket (in the hope the support really works). This is definitely a bug in the Talend Runtime.