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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Lorenzo5
Creator
Creator

Joblet does not actually share a Salesforce Connection with its parent Job

Hi,

I designed a Joblet which implements a quite complex Salesforce Connection logic (and that's the reason why I created a Joblet), and I want to share it with several Jobs.

Unfortunately, when I include the Joblet is a Job, That Job knows the created Salesforce Connection but it is not able to use it, which is quite weird. Is that a bug or what did I make wrong?

Here below you can see a very simplified version of the Joblet and Job, in order to simply reproduce the issue.

JOBLET:

0695b00000fKGryAAG.png

JOB:

0695b00000fKGsNAAW.png

You can see that, despite the available Connection Component ("TestConnectionJoblet_1_tSalesforceConnection_1 - SF Connection"), the tSalesforceInput_1 component does not use it.

Instead, if I add the same

tSalesforceInput Component

to the Joblet itself, it is fully able to reuse the already created connection:

0695b00000fKGv7AAG.png

From the Talend Help Online I read:

0695b00000fKGwAAAW.png

therefore I would expect not any impact to the main Job.

Any solution?

Regards,

Lorenzo

Labels (3)
3 Replies
Anonymous
Not applicable

Hello @Lorenzo Lucioni​ ,

Normally speaking, if you want to create a reusable transformation regardless of the type of input and output data source, it's recommended to use joblet.

please refer to the below article

https://help.talend.com/r/en-US/7.3/diffs-between-joblet-trunjob/when-to-use-joblet

 

As tSalesforceConnection doesn't have an input or output, so it's not the good way to use it in joblet.

For your case, it's recommended to do like :

  1. create a Salesforce connection in Metadata in the studio
  2. add the tSalesforceConnection to connect to the 'Repository' salesforce connection for all your jobs

 

Best regards

Aiming

 

Lorenzo5
Creator
Creator
Author

Hi @Aiming Chen​ 

As I wrote, the Job/Joblet example which I shown above is a simplified one. It's not our actual need.

Our actual implementation for the Joblet is:

 

0695b00000fKNhbAAG.pngWith this solution, we have implemented a Connection retry mechanism which is missing from your tSalesforceConnection Component.

(Note: I'm aware the retry operation could be delegated to the Job re-execution itself, but for some reasons we wanted to solve it at Job design level, instead of Job execution level)

 

So, as you can see, our joblet contains a quite significant reusable logic.

 

Furthermore, you write: "As tSalesforceConnection doesn't have an input or output, so it's not the good way to use it in joblet."

Actually, a Joblet offers both the INPUT/OUTPUT Components pair (for data-in and data-out) and also TRIGGER_INPUT/TRIGGER_OUTPUT pair, hence I would expect a Joblet makes sense even when there's not any in/out data.

 

I also performed the same test with a MSSQL DB Connection / Input Components, and it works: the MSSQL Connection created into the Joblet is correctly shared with the main Job:

 

JOBLET

0695b00000fKNjmAAG.pngJOB

0695b00000fKNjrAAG.png 

So, to me, it seems a Bug specifically related to the tSalesforce family of Components, when you use them across Job/Joblet.

Could you please replicate the issue on your environment and provide me a possible Job/Joblet solution (if any)?

If there's no any solution, and if you confirm it's a bug, I'll submit a bug-fix request to the Talend Support with our Company License.

 

Best regards,

Lorenzo

Anonymous
Not applicable

Hello @Lorenzo Lucioni​ ,

Thanks for your explanation.

Currently, seems there isn't a solution for the issue, please submit a bug-fix request via Talend Support

 

Best regards

Aiing