Exceeding the Java 65535 bytes limit

Overview

This article explains the causes of this error and offers troubleshooting ideas and solutions.

 

Symptoms

If a subjob has too many components or if there are too many columns in the schema, the Talend Job may fail to compile, and produce the following exception:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The code of method tFileInputDelimited_1Process(Map) is exceeding the 65535 bytes limit

This is because Talend Studio is a code generator and creates Java code for each Talend Job. Each subjob is a method in the Job class. If a subjob is too big, the size of the final generated code will exceed 65536 bytes.

According to Java specifications, the amount of code for this non-native, non-abstract method is limited to a size of 65536 bytes, so the generated code of a subjob cannot be greater than this limit.

 

Procedure

As a workaround, optimize the Job to reduce the size of the final generated code of a subjob. Try the following:

  • Minimize the number of components in the subjob, especially debugging components such as tLogRow.
  • Divide the subjob into several subjobs.
Version history
Revision #:
3 of 3
Last update:
‎05-17-2017 03:08 AM
Updated by:
 
Labels (1)
Contributors
Tags (1)