One Star

ContextLoad issue

Hi,
I have mapping that uses the Talend STATS/ Flowmeter /Log functionality. The mapping also have Oracle_SP component in the middle of the job.
The connection parameter for all are context variables.
I am trying to use the contextload but it seems that the values in the context load are not used for the Stats/flowmeter/Log connection.
Test 1 - Password in mapping context is set to an INVALID value. The Passsword in the context load file is VALID.
Result - job fails - trying to access the talendStats_DB with invalid password in first step of job
Test 2 - Password in mapping context is set to an VALID value. The Passsword in the context load file is INVALID.
Result - job fails - on the excution of the oracle SP with invalid password (i.e it gets past the step if failed at in test 1)
Test 3 - Password in mapping context is set to an VALID value. The Passsword in the context load file is VALID.
Result - job completes OK
We are using 2.4.1 - Can anyone confirm if bug has been updated in the latest version?
4 REPLIES
Community Manager

Re: ContextLoad issue

Hello
We are using 2.4.1 - Can anyone confirm if bug has been updated in the latest version?

Please see 7690, in fact, the properties on 'job setting' tab is read and called before loading the context value.
For now, you can move the 'loading context value' to a father job and it will work fine. see my screenshot.
Best regards

shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: ContextLoad issue

Hi Shong,
Thanks for your reply.
I have been doing some more testing. I have checked the 'Transmit whole context" on the tsubjob component and that seems to resolve my issue at least for the child.
But now I get an error on the Parent. As you said ''job setting' tab is read and called before loading the context value'. But I also think the Context values for the parent job are read before the context load.
The parent job also uses the Talend Stats/Log (with context variables for the connection info).
I get the error :-
Exception in component talendStats_DB
invalid username/password; logon denied'
at the parent level because the values in the pre-defined context is wrong - I need to use the value from the context load.
I think the way Talend works is :-
set context variables --> write to logs --> perform context load -- > rest of job
but what I need is :-
perform context load --> set context variables --> write logs ---> rest of job.
Is there a way I get the values from the context load to override the values from the pre-defined context before Talend tries to access the Stats and Log tables?
Thanks for your help.
One Star

Re: ContextLoad issue

Hi Shong,
Any thoughts/ideas on this??
Seven Stars

Re: ContextLoad issue

tnewman, have you tried using the implicit context load setting on the Job's "Extra" tab (job tab, then extra tab. You can also set this through the Project Settings window in 3.2 or greater)? When you use this method, it does the same thing as the tContextLoad. During my testing with configuring the database for the stats and logs using context, I provided a default value in the context with invalid connection parameters. I set the correct values in the context file. When using the Implicit Context Load setting, I had no errors arise during the job's execution. However, when I used the component to load the context, it did have a connection error. I also used a tPreJob component to see if that would work, this too threw the exception. Using this setting tab, you can set it to read the context from either a file or a database.
Hope that helps.
Edited to include screenshot of the the implicit context settings pane.