Conflict Detection
When executing the tools from the command line, it is possible to violate some of the dependency constraints. Without FlowTracer, conflicts go undetected, causing loss of data, tool failures, wasted time.
- Input Conflict
- Output Conflict
- Cycle Conflict
Input Conflict
An input conflict occurs whenever a job uses an input that is not VALID. The designer who has invoked the job is notified of the problem and given a chance to avoid it.
VOV: ATTENTION! Input conflict detected! VOV: ATTENTION!
VOV: ATTENTION! Input conflict detected! VOV: ATTENTION!
---------- User Decision Required ---------------
INPUT CONFLICT for tool
vw cp bb cc
(directory ${HOME}/tmp)
The tool needs
FILE:${HOME}/tmp/bb
which is currently INVALID
1 -- CONTINUE
2 -- STOP ASKING
3 -- (*) ABORT
Please choose (1--3) >>>>
Output Conflict
An output conflict occurs when a job declares as output a file that is already the output of another job. Normally, a file can be the output of only one job.
vw cp bb cc
and is currently running vw cp aa
cc
which changes the way of creating cc
. FlowTracer prompts the user with this dialog:
VOV: ATTENTION! Output conflict detected! VOV: ATTENTION!
VOV: ATTENTION! Output conflict detected! VOV: ATTENTION!
---------- User Decision Required ---------------
OUTPUT CONFLICT caused by data item
FILE:${HOME}/tmp/cc
Command lines are different.
Common part is 6 characters long.
'bb cc' != 'aa cc'.
^____ ^____
1 -- CONTINUE
2 -- (*) ABORT
3 -- MORE INFO
Please choose (1--3) >>>>
Cycle Conflict
VOV: ATTENTION! Cycle detected! VOV: ATTENTION!
VOV: ATTENTION! Cycle detected! VOV: ATTENTION!
vw Jun 07 15:01:00 Failed VOV call libconnect.cc,152
vw ERROR Jun 07 15:01:00 Cycle conflict for ${HOME}/tmp/aa
vw Jun 07 15:01:00 This job 008269147 must be forgotten
Control Conflict Detection
Conflict detection cannot be disabled. What you can do is to avoid the waiting for user input caused by the pop-up dialogs. This can be controlled by the environment variable VOV_CONFLICT_CONTROL, which can take either the value ABORT or CONTINUE.
During automatic retracing, VOV_CONFLICT_CONTROL is always set to ABORT.