Skip to main content
Announcements
Global Transformation Awards submissions are open! SUBMIT YOUR STORY
cancel
Showing results for 
Search instead for 
Did you mean: 
rid_rj
Contributor III
Contributor III

Error : java.lang.NoClassDefFoundError: routines/system/JobStructureCatcherUtils

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)

Labels (1)
9 Replies
jlolling
Creator III
Creator III

Does this problem affects all of your jobs or only a few?

Which Java version do you use for the studio?

rid_rj
Contributor III
Contributor III
Author

No just 2 jobs, but sometime the jobs works correctly sometime no.

The java version is : 11.0.22

ridha_rjili_0-1709112151224.png

 

 

jlolling
Creator III
Creator III

Strange, I have just checked my own Talend Studio (R2024-01) and there is no such class.
Which edition of Talend do you use? Data Fabric etc?
rid_rj
Contributor III
Contributor III
Author

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 ?

jlolling
Creator III
Creator III

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

rid_rj
Contributor III
Contributor III
Author

I did it and i will give you a feedback after a few days to test the execution.

rid_rj
Contributor III
Contributor III
Author

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.

rid_rj
Contributor III
Contributor III
Author

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, ....).

jlolling
Creator III
Creator III

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.