Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
JGSanchez11
Contributor
Contributor

tS3List component returning "java.lang.NullPointerException"

Hello all,

Would anyone know why I would be getting back 'NullPointerException" when using component tS3List?

tS3List_1 null

java.lang.NullPointerException

  at dataintegration.cj_di_sftp_echlandingzone_get_0_1.CJ_DI_SFTP_ECHLANDINGZONE_GET.tDBRow_1Process(CJ_DI_SFTP_ECHLANDINGZONE_GET.java:7790)

  at dataintegration.cj_di_sftp_echlandingzone_get_0_1.CJ_DI_SFTP_ECHLANDINGZONE_GET.tS3BucketExist_1Process(CJ_DI_SFTP_ECHLANDINGZONE_GET.java:11506)

  at dataintegration.cj_di_sftp_echlandingzone_get_0_1.CJ_DI_SFTP_ECHLANDINGZONE_GET.tJava_2Process(CJ_DI_SFTP_ECHLANDINGZONE_GET.java:11732)

  at dataintegration.cj_di_sftp_echlandingzone_get_0_1.CJ_DI_SFTP_ECHLANDINGZONE_GET.runJobInTOS(CJ_DI_SFTP_ECHLANDINGZONE_GET.java:14060)

  at dataintegration.cj_di_sftp_echlandingzone_get_0_1.CJ_DI_SFTP_ECHLANDINGZONE_GET.runJob(CJ_DI_SFTP_ECHLANDINGZONE_GET.java:13255)

  at dataintegration.j_di_ech_sf_load_0_1.J_DI_ECH_SF_LOAD.tRunJob_1Process(J_DI_ECH_SF_LOAD.java:8157)

  at dataintegration.j_di_ech_sf_load_0_1.J_DI_ECH_SF_LOAD.tDBRow_2Process(J_DI_ECH_SF_LOAD.java:7752)

  at dataintegration.j_di_ech_sf_load_0_1.J_DI_ECH_SF_LOAD$1tJava_1Thread.run(J_DI_ECH_SF_LOAD.java:7007)

  at routines.system.ThreadPoolWorker.runIt(TalendThreadPool.java:159)

  at routines.system.ThreadPoolWorker.runWork(TalendThreadPool.java:150)

  at routines.system.ThreadPoolWorker.access$0(TalendThreadPool.java:145)

  at routines.system.ThreadPoolWorker$1.run(TalendThreadPool.java:122)

  at java.lang.Thread.run(Thread.java:748)

Thanks

JGS

Labels (2)
18 Replies
Anonymous
Not applicable

When you set this to use static values, how did you do this? Did you set them in the tS3List as Strings or set them in the "Set Global Var" tJava prior to that? Also, can you show me the code in the tJava?

 

Some other questions....

When you run this does it list anything or does it fail at the first iteration?

Are there any rows that are returned by the DB?

 

Can you run it and show me a screenshot of what the design looks like after it fails? It should give an indication of the success of each component.

 

JGSanchez11
Contributor
Contributor
Author

When you run this does it list anything or does it fail at the first iteration?

Are there any rows that are returned by the DB? No it does not list anything - it appears to fail right when calling the tS3List componet. The issue is when it runs in TMC not Talend Studio. Not sure is this is the code you are looking for.

 

String Current_datetime = TalendDate.formatDate("yyyyMMddHHmmss",TalendDate.getCurrentDate()) ;

String Current_Year = TalendDate.formatDate("yyyy",TalendDate.getCurrentDate());

String Current_Month = TalendDate.formatDate("MM",TalendDate.getCurrentDate());

String Current_Day = TalendDate.formatDate("dd",TalendDate.getCurrentDate());

String Current_Time = TalendDate.formatDate("HHmmss",TalendDate.getCurrentDate());

 

context.FILE_EXT_DATE_TIME= Current_Year + "/" + Current_Month + "/" + Current_Day + "/" + Current_Time;

context.ECH_S3_BUCKET_PATH = context.ECH_S3_BUCKET_PATH + context.FILE_EXT_DATE_TIME;

globalMap.put("LOCAL_PATH", (context.ECH_SFTP_LocalDirectory + "/" + context.FILE_EXT_DATE_TIME + "/" ));

 

 

if(context.MODE.equals("HIST")){

context.ECH_SFTP_RemoteDirectory = context.ECH_SFTP_RemoteDirectory_HIST;

}

 

//context.FILE_CONFIG_ID = 18; // Testing Purpose

 

 

System.out.println("****************************");

//System.out.println("Regex_FileName ---"+(String)globalMap.get("Regex_FileName"));context.

System.out.println("S3 Bucket name: "+context.S3_BUCKET_NAME);

System.out.println("S3 Bucket path name: "+context.ECH_S3_BUCKET_PATH);

System.out.println("LOCAL_PATH ---"+(String)globalMap.get("LOCAL_PATH"));

 

 

 

Anonymous
Not applicable

Ah, so this runs in Studio but only fails in TMC? OK, where are you running this? Is it in the Talend Cloud or running in a Remote Engine? Is the location in which it is running whitelisted with your AWS configuration?

JGSanchez11
Contributor
Contributor
Author

Yes this run on TMC Cloud , AWS Configuration should be set up correctly. I created a separate job to test the list and it appear to have work correctly. I will send you the screen shot. I am currently recreating the child job from scratch to see if something is corrupted on the cloud .

 

0695b00000cfL8PAAU.png

Anonymous
Not applicable

This could be related to your context variables in TMC

JGSanchez11
Contributor
Contributor
Author

I think i see the issue - when I try to run the Talend Studio Job - it does not get past the tS3List . it warn me the bucket is in the us-east-1. I do not see that bucket in the dropdown list,

Anonymous
Not applicable

Select "US Standard" for the region. That should be us-east-1.

 

 

JGSanchez11
Contributor
Contributor
Author

GM - I tried that option - returning "java.lang.NullPointerException" . I have tried all - no help.

Anonymous
Not applicable

If this runs in your Studio, then this isn't a Job config issue. The job is essentially just a java application. This is more likely to be an issue with where you are running it. I think the best course of action here is to raise a Support call. They will be able to take a look at what is happening. Unfortunately all I can do here is ask questions and ask for screenshots.