Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!

How to Manage the Java 11 upgrade for Talend Cloud Engines

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
chris_khalife
Support
Support

How to Manage the Java 11 upgrade for Talend Cloud Engines

Last Update:

Jul 25, 2024 5:46:52 AM

Updated By:

Xiaodi_Shi

Created date:

Jul 25, 2024 10:01:37 PM

Details

Starting with the Talend Cloud R2024-07 release (July 24th), Cloud Engines will default to Java 11 for executing tasks (previously Java 8). If any tasks in your Talend Cloud environment run on a Cloud Engine you may see the message below:Java11Upgrade.png



If your Production jobs are running on Remote Engines/clusters, the message above is most likely not applicable. However if your environment has tasks executing on Cloud Engines then this guide will help you determine next steps on how to handle the Cloud Engine Java upgrade.

 Determine If Jobs Are Running on Cloud Engine

There are two ways to determine if your task is running on a Cloud Engine:

In Talend Cloud | Management Console | Management | Tasks select the task in question. In the left corner, it will display if the job is running on Cloud or a Remote Engine/cluster.

CloudEngine.jpg

In Talend Cloud | Management Console | Operations, click on any task from any filter. On the right sidebar will be all the task info including the Engine at the bottom.  OperationsEngine.jpg

 


Revert the Cloud Engine to Java 8

Once you have determined the tasks that are running on Cloud Engine, the next troubleshooting step is to test if reverting back to Java 8 allows the jobs to run successfully. The only way to revert Cloud Engines back to Java 8 is through the Cloud API. More information about this API call can be found here: https://api.talend.com/apis/processing/2021-03/#section_cloud-engines

Below is a step by step to run the API call. However if you are unfamiliar with API calls please contact Support for assistance on rolling back the API:

  1. If not already done, generate a Personal Access Token for the Cloud User. Ensure the user has has been granted the specific permission TMC_CLUSTER_MANAGEMENT (Engines - Manage). By default this permission is granted to the role "Infrastructure Administrator".
    • Generate the PAT by going to Talend Cloud | Profile Preferences | Personal access tokens | Add Token
    • Be sure to save this token as you can only retrieve the value the first time it is generated.
  2. Use an API tool (EX: Talend API Tester, Postman, etc.) to run the API call below:
  3. If the value is set to true, then the engine is already using Java 8. Once you confirm the value is false, we need to set it to true by running the PUT command below:

putRollback.jpeg

 

  • The command above should return a success code of 204. If it does not, please check the syntax.
  • Once successfully completed, rerun the command from Step #2(putrollback) to confirm the value has changed to true.
  • After confirming Java execution has been changed back to Java 8, have the customer rerun the failing Cloud Engine job(s).

Case 1: If the job still fails, the issue is not related to Java. Make sure to change the jobJvmRollback back to false in this case.

Case2: If the jobs succeed, the job is failing due to Java 11 compatibility issues. Proceed to Step 3 of the guide.

Upgrading Jobs to Java 11

To ensure that production jobs are running, we recommend keeping the jobJvmRollback set to true. However because Java 8 is no longer supported, we recommend migrating jobs to Java 11 or 17 as soon as possible.

Upgrading Java is similar to a patch upgrade, all jobs should be retested. To ensure a smooth transition for the tasks running on Cloud Engines, R&D strongly encourages customers to set up a Remote Engine 2.13.X and configure it to execute tasks using Java 11 (The RE 2.13.x requires Java 17 but can still execute tasks with Java 8 or Java 11).

There is no easy fix/catch all for Java 11 issues as job designs can greatly vary. Below are example of errors that may occur when upgrading Java

Error for SQL failure

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)

Solution

Issue is due to a SQL driver only compatible with Java 8. Inform customer to download new SQL driver that is compatible with Java 11 and test.

 

Error for tRestClient failure

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

 

Solutions

  • ​​​​​For the NoClassDefFoundError:javax/xml/ws/WebServiceFeature error, add the jaxws-api 2.3.1 version using the tLibraryLoad component and redeploy the Job
  • For the NoClassDefFoundError:javax/xml/bind/JAXBException  error, add the jaxb-api-2.3.1.jar and jaxb-impl-2.2.6-modified.jar libraries using the tLibraryLoad component and redeploy the Job.

Related Content

Qlik-Talend-Products-Java-17-Migration-Guide 

 

Environment

Talend Cloud 

 

Labels (1)
Version history
Last update:
‎2024-07-25 05:46 AM
Updated by: