Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Support team, Currently we are facing the issue with the pipeline as it try to extract the data from SAP to ADLS, in the meanwhile doing the cleanup in the sftp server with the old files.
Here are the 2 component configuration that caused the job failure.
Error log
tRunJob_1 - Child job returns 1. It doesn't terminate normally.
NOTE: Picked up JDK_JAVA_OPTIONS: --add-reads=java.xml=java.logging --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED --patch-module java.base=F:/Install/talend/lib/endorsed/org.apache.karaf.specs.locator-4.4.6.jar --patch-module java.xml=F:/Install/talend/lib/endorsed/org.apache.karaf.specs.java.xml-4.4.6.jar --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.naming/javax.naming.spi=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
Picked up JAVA_TOOL_OPTIONS: -Dlog4j2.formatMsgNoLookups=true
Exception in component tSAPTableInput_1 (acquire_sapEcc_singletable_Incremental)
java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "val" is null
at java.base/java.math.BigDecimal.toStrictBigInteger(BigDecimal.java:1069)
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:1083)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1Process(acquire_sapEcc_singletable_Incremental.java:27454)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tAzureAdlsGen2Delete_1Process(acquire_sapEcc_singletable_Incremental.java:26020)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tJava_3Process(acquire_sapEcc_singletable_Incremental.java:25632)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tJava_1Process(acquire_sapEcc_singletable_Incremental.java:25316)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSetGlobalVar_2Process(acquire_sapEcc_singletable_Incremental.java:25051)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.runJobInTOS(acquire_sapEcc_singletable_Incremental.java:33863)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.main(acquire_sapEcc_singletable_Incremental.java:32757)
Exception in component tFTPFileList_1 (acquire_sapEcc_singletable_Incremental)
java.lang.NullPointerException: Cannot invoke "com.jcraft.jsch.ChannelSftp.getHome()" because "c_tFTPFileList_1" is null
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tFTPFileList_1Process(acquire_sapEcc_singletable_Incremental.java:29039)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tFTPConnection_2Process(acquire_sapEcc_singletable_Incremental.java:32344)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1_onSubJobError(acquire_sapEcc_singletable_Incremental.java:1734)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1_error(acquire_sapEcc_singletable_Incremental.java:1474)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1096)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.runJobInTOS(acquire_sapEcc_singletable_Incremental.java:33868)
at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.main(acquire_sapEcc_singletable_Incremental.java:32757)
Hello,
The error you’re seeing:
java.lang.NullPointerException: Cannot invoke "com.jcraft.jsch.ChannelSftp.getHome()" because "c_tFTPFileList_1" is null
indicates that the SFTP component (tFTPFileList) is being invoked without a valid SFTP connection object. This typically occurs when:
The SFTP connection was not established before the file list operation was executed.
The component configuration does not include valid credentials/host/port.
The job flow allows the tFTPFileList to execute even when the preceding connection has not succeeded.
Recommended steps to resolve:
Verify the SFTP connection details
Ensure the host, port, username and authentication (password or private key) are correctly configured in tFTPConnection.
Check component ordering and triggers
Use appropriate triggers (e.g., OnSubjobOk or OnComponentOk) to ensure the SFTP connection component completes successfully before tFTPFileList executes.
Handle null connection gracefully
Add error checks or conditionals so that if the connection fails, the file list component does not run.
Test connection separately
Before running the full pipeline, test the SFTP connection and file listing in a small isolated job to confirm credentials and network connectivity.
Note:
When a connection object is null, any dependent operations (like tFTPFileList.getHome()) will throw a NullPointerException because Talend cannot initialize the underlying JSch SFTP channel.
Thanks,
Gourav