'errorMessage cannot be resolved or is not a field' while migrating 6.0.1 Jobs to 6.4.1

Problem Description

When migrating Jobs that contain a tOracleOutput component from Talend version 6.0.1 to 6.4.1, you may encounter the following error message:

*********************************************************************************************************************************************************
java.lang.RuntimeException: org.talend.designer.runprocess.ProcessorException: org.talend.commons.exception.PersistenceException: org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "Artemis_Hechos_Hitos_Facturacion" has a compile errors, please fix and export again.
Error Line: 3357
Detail Message: errorMessage cannot be resolved or is not a field
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
at org.talend.commandline.command.ExtensionCommandSwitch.caseExtensionServerCommand(ExtensionCommandSwitch.java:201)
at org.talend.commandline.client.command.extension.AbstractExtensionCommandSwitch.doSwitch(AbstractExtensionCommandSwitch.java:31)
at org.talend.commandline.command.CommandProcessorSwitch.caseExtensionCommand(CommandProcessorSwitch.java:179)
at org.talend.commandline.client.util.CommandAbstractSwitch.doSwitch(CommandAbstractSwitch.java:70)
at org.talend.commandline.command.CommandConsumer.executeCommand(CommandConsumer.java:57)
at org.talend.commandline.command.CommandConsumer.execute(CommandConsumer.java:35)
at org.talend.commandline.mode.ServerCommandLine$CommmandConsumerRunnable.run(ServerCommandLine.java:139)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.talend.designer.runprocess.ProcessorException: org.talend.commons.exception.PersistenceException: org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "Artemis_Hechos_Hitos_Facturacion" has a compile errors, please fix and export again.
Error Line: 3357
Detail Message: errorMessage cannot be resolved or is not a field
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
at org.talend.commandline.util.JobHandler.export(JobHandler.java:235)
at org.talend.commandline.command.execute.BuildJobExecuteCommand.execute(BuildJobExecuteCommand.java:143)
at org.talend.commandline.command.ExtensionCommandSwitch.caseExtensionServerCommand(ExtensionCommandSwitch.java:199)
... 7 more
Caused by: org.talend.commons.exception.PersistenceException: org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "Artemis_Hechos_Hitos_Facturacion" has a compile errors, please fix and export again.
Error Line: 3357
Detail Message: errorMessage cannot be resolved or is not a field
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
at org.talend.repository.ui.wizards.exportjob.scriptsmanager.BuildJobManager.buildJob(BuildJobManager.java:234)
at org.talend.repository.ui.wizards.exportjob.scriptsmanager.BuildJobManager.buildJob(BuildJobManager.java:164)
at org.talend.commandline.util.JobHandler.export(JobHandler.java:224)
... 9 more
Caused by: org.talend.designer.runprocess.ProcessorException: Job compile errors
At least job "Artemis_Hechos_Hitos_Facturacion" has a compile errors, please fix and export again.
Error Line: 3357
Detail Message: errorMessage cannot be resolved or is not a field
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
at org.talend.designer.runprocess.JobErrorsChecker.checkLastGenerationHasCompilationError(JobErrorsChecker.java:326)
at org.talend.designer.runprocess.DefaultRunProcessService.checkLastGenerationHasCompilationError(DefaultRunProcessService.java:380)
at org.talend.designer.runprocess.RunProcessService.checkLastGenerationHasCompilationError(RunProcessService.java:292)
at org.talend.designer.runprocess.ProcessorUtilities.generateBuildInfo(ProcessorUtilities.java:634)
at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:904)
at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:719)
at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:1270)
at org.talend.repository.ui.wizards.exportjob.handler.BuildJobHandler.generateJobFiles(BuildJobHandler.java:159)
at org.talend.repository.ui.wizards.exportjob.scriptsmanager.BuildJobManager$1.run(BuildJobManager.java:208)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
at org.talend.repository.ui.wizards.exportjob.scriptsmanager.BuildJobManager.buildJob(BuildJobManager.java:228)
*********************************************************************************************************************************************************

In Studio, open Code viewer to review the compile errors.

error_code.PNG

 

In this example, row3 of the Talend 6.0.1 Job is configured using Rejects.

601.png

 

When the same Job is migrated to 6.4.1 and verified, row3 is converted as a Main row instead of Rejects.

641.PNG

 

Root Cause

This behavior is related to the Advanced settings > Use Batch option of the tOracleOutput component.

 

Solution

Rejects are only available if the component knows each row insertion result, and if the Die on error check box is not selected.

 

If you are using a metadata connection, the Use Batch option is disabled by default, and the Reject option is available. Enable/select the Use Batch option, and the Reject option is no longer available.

 

If you are not using a connection, the Use Batch option is enabled by default, and you cannot use the Reject option. Disable/clear the Use Batch option to make the Reject option available.

Version history
Revision #:
4 of 4
Last update:
‎04-01-2019 12:18 PM
Updated by:
 
Contributors