Highlighted
Four Stars

Job fails in runtime (NoSuchMethodError)

I've built a job and it fails every time in runtime.

It is a very simple job, that does the following after each other in several flows (OnSubJobOK):
    1) Set's up the context variable,

    2) Executes a query in hive (tHiveRow) and stores the result into a CSV

    3) Reads the CSV and loads it into Salesforce

 

Now, ... when I disable the step 2 OR 3, ... everything runs without any problems, but as soon as I enable both the job dies.

 

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.lang3.reflect.TypeUtils.toString(Ljava/lang/reflect/TypeSmiley WinkLjava/lang/String;
at org.talend.daikon.properties.property.Property.(Property.java:127)
at org.talend.daikon.properties.property.Property.(Property.java:152)
at org.talend.daikon.properties.property.Property.(Property.java:148)
at org.talend.daikon.properties.property.StringProperty.(StringProperty.java:32)
at org.talend.daikon.properties.property.PropertyFactory.newString(PropertyFactory.java:36)
at org.talend.components.api.component.ComponentDefinition.(ComponentDefinition.java:71)
at org.talend.components.api.component.AbstractComponentDefinition.(AbstractComponentDefinition.java:43)
at org.talend.components.salesforce.SalesforceDefinition.(SalesforceDefinition.java:26)
at org.talend.components.salesforce.tsalesforceconnection.TSalesforceConnectionDefinition.(TSalesforceConnectionDefinition.java:32)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.tSalesforceConnection_1Process(yl_sf_adSlot.java:5657)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.tHiveRow_3Process(yl_sf_adSlot.java:5439)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.tHiveConnection_1Process(yl_sf_adSlot.java:3895)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.tFileInputXML_1Process(yl_sf_adSlot.java:3509)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.runJobInTOS(yl_sf_adSlot.java:12626)
at yl.yl_sf_adslot_0_11.yl_sf_adSlot.main(yl_sf_adSlot.java:12285)

 

Another thing I noticed is that several versions are being loaded for Log4J

 

log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/sffacade/yl_sf_adSlot/vp_test/deploy/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/sffacade/yl_sf_adSlot/vp_test/deploy/lib/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

 

I had similar issues with Avro with the avro-1.7.6-cdh5.4.0 and avro-1.8.0.jar, but I also expirienced Issues with Log4J on several instances, where the project could sometimes not find Log4J at all.

 

Any suggestions?

 

I'm running Talend 6.3.1 on Win 10

  • Data Integration
  • ESB
11 REPLIES
Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hello,

Can you successfully execute your ESB job in studio? Does this issue only repro on talend runtime? Are your studio and runtime on the same machine? More information will be preferred.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

Re: Job fails in runtime (NoSuchMethodError)

Yes, I just wanted to paste new information

 

When I try to run it in Studio, ... it runs without any problems. When I try to run it in CMD, it fails. Same parmeters, same context

Four Stars

Re: Job fails in runtime (NoSuchMethodError)

I have only one JVM/JRE
Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hi,

This issue is probably caused by Salesforce component. Your job works perfectly fine when you disable step 3? Could you please post your job setting screenshots into forum? How did you build your job?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

Re: Job fails in runtime (NoSuchMethodError)

if I disable either 2 or 3 it works in build. In talend it works always. I tried different JRE/JVM but there is no difference. But in build, it does not work with 2 or 3 disabled.

I also tried extracting 2 and 3 into subjobs (tRunJob) and it works in build if I select them both to run as separate processes

 

The version is Talend OS ESB 6.3.1

 

Unbenannt.PNG

Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hi,

Are you using oracle JDK 1.8?

JDK is not needed to run job especially in the studio, but needed to export the job. Please make sure that you already have a suitable JDK installed in your machine.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

Re: Job fails in runtime (NoSuchMethodError)

java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hello,

Have you tried to use V 6.4.1 to see if this issue repro? The required jar has been already installed into your studio? Did you change/replace any jar file from your side?1.png

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

Re: Job fails in runtime (NoSuchMethodError)

No, I did not. I know how dangerous/fragile it is

Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hi,

Would you mind sending your job (.zip file) to us by email for testing?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Moderator

Re: Job fails in runtime (NoSuchMethodError)

Hello,

Or you can send a private message to me about your job.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.