Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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.
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"));
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?
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 .
This could be related to your context variables in TMC
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,
Select "US Standard" for the region. That should be us-east-1.
GM - I tried that option - returning "java.lang.NullPointerException" . I have tried all - no help.
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.