Page 1 of 1

Re: Transformer to transformer, execution order

Posted: Tue Dec 23, 2003 11:48 am
by raju_chvr
If they are sequentially connected, they will be defenitely execute the order you have connected them. If you have them in parallel or in simple words if the source for the second transformer is independent of the first transformer, then both the transformers(1 & 2) will share your CPU time.

Source1->trans1->Target1
Source2->trans2->Target2

in the above scenario the Trans1 and Trans2 share the CPU time and be executed at the same time and depening on the load of data Trans2 might finish first even though Trans1 has started first.


Source1->Trans1->Target->Trans2->Target2

in this case Trans2 will wait for Trans1 to finish

IHTH

Posted: Tue Dec 23, 2003 4:21 pm
by ray.wurlod
I think what you're seeing is an artifact of the GUI refresh interval and not much more. Maybe, even, the GUI refreshes "right to left" (in the same way that active stages are closed "right to left", which you can see in the job logs). Since you're on version 7, and probably have row buffering enabled, the minute Transformer 1 has finished with a row, Transformer 2 can begin working on it, and the minute Transformer 2 has finished with it, Transformer 3 can start.
You are also dependent (in the GUI) on how frequently each Transformer updates the status table - by default every 1000 rows - and when that information actually gets flushed to disk by the operating system.
I would not be concerned - if the design is as you say, then there's no way Transformer 3 can start before Transformers 1 and 2 have processed at least one row.
You can verify in the job log that the Transformer stages are starting in the correct order (look for Active Stage Starting events).