I am trying to understand the problem that I've been having with a standard Table Comparison transformation.
The Problem:
When executing a DataFlow the process stops at the Table Comparison transformation and just sits there.
/DF_MaterialTextDelta_SAP/Table_Comparison: 0 | PROCEED | 1 |
/DF_MaterialTextDelta_SAP/Table_Comparison: 1 | PROCEED | 0 |
And nothing happens for hours.
Attempt in figuring out what the problem is:
I've tried a few things like:
- Examining database Activity Monitor: this showed no activity
- Checking that the referenced table and Input Primary keys are matching
- Trying different Comparison Methods like: Cashed comparison table, and Sorted input
- etc....
Unfortunately none of those helped with the resolution.
Two things that worked: though I still can't understand why
- I've tried running the process using the debug mode; when I did that the process finished in seconds. After this revelation I understood that the problem wasn't with the database table but rather with the actual DataFlow.
As part of my investigation I've turned on the Trace Transform trace option. There was a clear difference between executions in the debug vs regular modes.
The following was produced by the regular execution: what I don't understand is why the logs show that attempts at re-computing the data are re-started and why the process stops at a Hash_split
TRAN: Sort algorithm pageable mode parameters: memory workspace <20971520> bytes, sort batch size in the memory <23301> rows, maximum row size <900> bytes, receives update/delete rows <no>.
TRAN: Transform <Merge:000000000222A1E0> is re-started.
TRAN: Transform <Hash_split:0000000008742050> is re-started.
TRAN: Transform <Hash_split:0000000008742050> is re-started.
TRAN: Transform <MergeSort:00000000062BD390> is re-started.
TRAN: Transform <Round_Robin_Split:00000000087BC2C0> is re-started.
TRAN: Transform <Round_Robin_Split:00000000087BC2C0> is re-started.
TRAN: Transform <R3_MaterialTextDelta> is started.
TRAN: Transform <TimeStampQuery-Mapping2> is started.
TRAN: Transform <TimeStampQuery-Distinct3> is started.
TRAN: Transform <Round_Robin_Split> is started.
TRAN: Transform <TimeStampQuery-OrderBy4> is started.
TRAN: Transform <TimeStampQuery-OrderBy6> is started.
TRAN: Transform <MergeSort> is started.
TRAN: Transform <TimeStampQuery-OrderBy5> is started.
TRAN: Transform <TimeStampQuery> is started.
TRAN: Transform <TCConvert_1> is started.
TRAN: Transform <Hash_split> is started.
TRAN: Transform <TCSort_1> is started.
TRAN: Transform <Hash_split> is started.
TRAN: Transform <Table_Comparison> is started.
TRAN: Transform <Table_Comparison> is started.
TRAN: Transform <Merge> is started.
TRAN: Transform <MATERIAL_TEXT_MATERIAL_TEXT> is started.
TRAN: Transform <Hash_split:000000000873BDD0> is re-started.
At this point the process halts!
The following was produced by the running the process in the debugger mode:
TRAN: Sort algorithm pageable mode parameters: memory workspace <20971520> bytes, sort batch size in the memory <23301> rows, maximum row size <900> bytes, receives update/delete rows <no>.
TRAN: Transform <R3_MaterialTextDelta> is started.
TRAN: Transform <Debug> is started.
TRAN: Transform <TimeStampQuery-Mapping1> is started.
TRAN: Transform <TimeStampQuery-Distinct2> is started.
TRAN: Transform <TimeStampQuery-OrderBy3> is started.
TRAN: Transform <TimeStampQuery> is started.
TRAN: Transform <Debug> is started.
TRAN: Transform <TCConvert_1> is started.
TRAN: Transform <TCSort_1> is started.
TRAN: Transform <Table_Comparison> is started.
TRAN: Transform <Debug> is started.
TRAN: Transform <MATERIAL_TEXT_MATERIAL_TEXT> is started.
TRAN: Transform <TCSort_1> is completed.
TRAN: Transform <MATERIAL_TEXT_MATERIAL_TEXT> is completed.
TRAN: Transform <Debug> is completed.
TRAN: Transform <Table_Comparison> is completed.
TRAN: Transform <TCConvert_1> is completed.
TRAN: Transform <Debug> is completed.
TRAN: Transform <TimeStampQuery> is completed.
TRAN: Transform <TimeStampQuery-OrderBy3> is completed.
TRAN: Transform <TimeStampQuery-Distinct2> is completed.
TRAN: Transform <TimeStampQuery-Mapping1> is completed.
TRAN: Transform <Debug> is completed.
TRAN: Transform <R3_MaterialTextDelta> is completed.
DATAFLOW: Data flow <DF_MaterialTextDelta_SAP> is completed successfully.
JOB: Job <test> is completed successfully.
This completed the entire process in under 20 seconds.
- After additional trial and error I've attempted to change the Degree of Parallelism on the DataFlow properties from 0 to a value greater then 2. This also resulted in the system completing the entire data flow withing stopping in both the regular and debugged modes.
Conclusion & Follow up questions:
I wouldn't call this a fix but rather a work around to get the system back in to functioning state. What I would like to know is why this problem is occurring.
Additional information:
Business Objects version: 14.1.1.354
Job Execution Options:
Enabled auditing: checked
Use collected statistics: checked
All others are checked off.