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

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
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