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

Announcements
Join us in NYC Sept 4th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tMysqlOutput component is doing Auto Commit when the TMysqlConnection hasn't check that option

Hi!

I've got a parent job where inside are the Mysql connection components and a tRun component which is relating through a "onSubJobOk" with a tMysqlCommit and with a "onSubJobError" with a "tMysqlRollback".

 

The fact is when in the child job (tRun in parent) goes well, it seems that the tMysqlCommit is doing its job, but after several tests I've discovered that if I desactivate the tMysqlCommit, the tMysqlOutput in my child job is still doing it, so...

I don't know how, and I don't know why the tMysqlOutput is still doing the commit 0683p000009M9p6.png.

 

If you need more info, or some screenshots about my job, just say it.

 

Thanks for your time and your attention!

 

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Hi!

 

I discovered my problem, sorry about that but I had got a tMysqlOutput with the "truncate" mode activated in "Action table" option, as a consequence and with all the logic, when tMysqlRollback tryed to run, it didnt work, and the others "tMysqlOutputs" (with no "trucate" mode) didn't work either.

 

When I changed it to "none" mode, the rollback goes without problems.

 

Thanks for your time.0683p000009MAZi.png

View solution in original post

4 Replies
Anonymous
Not applicable
Author

Hello @PataToT

Can you plz add screenshots?

Sincerely
Maurice
Anonymous
Not applicable
Author

Hi,

 

    The commit in the tDBOutput comes into picture when you have lot of data and it needs to be flushed to DB after a specific range of record count is reached (say 10000 records).

0683p000009M59t.png

 

So if you have a large record set say 100k , then it will keep on committing every 10k to release the resources. But if you are having less than 10k, it will not go to this mode. So using DBCommit component ensures that the committing has been done after the data load step.

 

Now, if you do not want interim commits, you can add this value to very large number to avoid this scenario of interim commits.

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

Anonymous
Not applicable
Author

Hi!


Thanks for your quick response.


I understand what you want to say me, but the problem begins when I use a tMysqlConnection and my tMysqlConnection components heredate from it and automatically the "Commit Every" option is disabled...


My question now is how can I change the "Commit Every" default value per tMysqlOutput when it heredate the connection commit value? (Auto commit option in the tMysqlConnection is unchecked)


Thanks again.

Anonymous
Not applicable
Author

Hi!

 

I discovered my problem, sorry about that but I had got a tMysqlOutput with the "truncate" mode activated in "Action table" option, as a consequence and with all the logic, when tMysqlRollback tryed to run, it didnt work, and the others "tMysqlOutputs" (with no "trucate" mode) didn't work either.

 

When I changed it to "none" mode, the rollback goes without problems.

 

Thanks for your time.0683p000009MAZi.png