Page 1 of 1

SingleCommit with MultipleCommit

Posted: Sun Sep 29, 2024 2:04 pm
by Niko
Anyone know what is the difference between SingleCommit with MultipleCommit When i set a chore task? :D

Re: SingleCommit with MultipleCommit

Posted: Sun Sep 29, 2024 6:03 pm
by Wim Gielis
The difference is a commit step after each of the TIs, or only 1 commit after all TIs are finished.

Re: SingleCommit with MultipleCommit

Posted: Sun Sep 29, 2024 6:43 pm
by Alan Kirk
Wim Gielis wrote: Sun Sep 29, 2024 6:03 pm The difference is a commit step after each of the TIs, or only 1 commit after all TIs are finished.
With one potential "gotcha" proviso; it only applies to TI processes which are called from the chore itself. If you have to call (say) an upload process a variable number of times, and therefore use a loop to run a series of ExecuteProcess() functions, the commit will not happen until after the master process that makes the calls has finished, regardless of whether single or multi commit is chosen.

Re: SingleCommit with MultipleCommit

Posted: Mon Sep 30, 2024 2:08 am
by Niko
Alan Kirk wrote: Sun Sep 29, 2024 6:43 pm
Wim Gielis wrote: Sun Sep 29, 2024 6:03 pm The difference is a commit step after each of the TIs, or only 1 commit after all TIs are finished.
With one potential "gotcha" proviso; it only applies to TI processes which are called from the chore itself. If you have to call (say) an upload process a variable number of times, and therefore use a loop to run a series of ExecuteProcess() functions, the commit will not happen until after the master process that makes the calls has finished, regardless of whether single or multi commit is chosen.
thanks for your reply~
Now suppose i created a chore called "Chore A", this chore calls two processes, the first process is called P1, another is P2,
P1 Transfer data from a csv file to CUBE A, P2 Transfer data from CUBE A to CUBE B
Is there a difference between singlecommit and multiplecommit in this situation? :)

Re: SingleCommit with MultipleCommit

Posted: Mon Sep 30, 2024 6:49 am
by declanr
Niko wrote: Mon Sep 30, 2024 2:08 am
Alan Kirk wrote: Sun Sep 29, 2024 6:43 pm
Wim Gielis wrote: Sun Sep 29, 2024 6:03 pm The difference is a commit step after each of the TIs, or only 1 commit after all TIs are finished.
With one potential "gotcha" proviso; it only applies to TI processes which are called from the chore itself. If you have to call (say) an upload process a variable number of times, and therefore use a loop to run a series of ExecuteProcess() functions, the commit will not happen until after the master process that makes the calls has finished, regardless of whether single or multi commit is chosen.
thanks for your reply~
Now suppose i created a chore called "Chore A", this chore calls two processes, the first process is called P1, another is P2,
P1 Transfer data from a csv file to CUBE A, P2 Transfer data from CUBE A to CUBE B
Is there a difference between singlecommit and multiplecommit in this situation? :)
In a multi commit scenario the data loaded to Cube A is available to everyone immediately when P1 is finished. So if a user queries Cube A while P2 is still running they can see the data and not hold up P2.
In single commit mode; the chore will hold a lock on Cube A so the user won’t be able to see the cube data results until the whole chore finishes. (This is assuming the user tries to read data after P1 is finished but before P2 finishes.)

Re: SingleCommit with MultipleCommit

Posted: Mon Sep 30, 2024 12:53 pm
by Niko
declanr wrote: Mon Sep 30, 2024 6:49 am
Niko wrote: Mon Sep 30, 2024 2:08 am
Alan Kirk wrote: Sun Sep 29, 2024 6:43 pm

With one potential "gotcha" proviso; it only applies to TI processes which are called from the chore itself. If you have to call (say) an upload process a variable number of times, and therefore use a loop to run a series of ExecuteProcess() functions, the commit will not happen until after the master process that makes the calls has finished, regardless of whether single or multi commit is chosen.
thanks for your reply~
Now suppose i created a chore called "Chore A", this chore calls two processes, the first process is called P1, another is P2,
P1 Transfer data from a csv file to CUBE A, P2 Transfer data from CUBE A to CUBE B
Is there a difference between singlecommit and multiplecommit in this situation? :)
In a multi commit scenario the data loaded to Cube A is available to everyone immediately when P1 is finished. So if a user queries Cube A while P2 is still running they can see the data and not hold up P2.
In single commit mode; the chore will hold a lock on Cube A so the user won’t be able to see the cube data results until the whole chore finishes. (This is assuming the user tries to read data after P1 is finished but before P2 finishes.)
i understand , thank u. :D