Skip to content
Snippets Groups Projects

check for and filter circular data dependencies from Algorithms

  1. Apr 04, 2017
    • Charles Leggett's avatar
      check for and filter circular data dependencies from Algorithms · 05236c0e
      Charles Leggett authored
      First check Algorithms to see if they have explicit circular data dependencies
      (ie both read and write DataHandles have been declared for the same object).
      This is an error condition.
      
      Also, adds a jobOption (FilterCircularDependencies) to Algorithm to selectively
      filter out circular data dependencies that may have been inherited from child
      AlgTool. After the full set of data dependencies of the Alg and its AlgTools
      have been assembled by the DataHandleHolderVisitor, check again for circular
      dependencies. If the Property is set True, cirular deps will be filtered out
      by removing the Input dep. A WARNING will be issued. If set False, an ERROR
      will be printed, and Algorithm::initialize() will return a StatusCode::FAILURE.
      
      Current default for the Property is True. This should be changed to False in
      the future.
      05236c0e
Loading