Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: pipe_base
-
Labels:
-
Story Points:1
-
Epic Link:
-
Sprint:BG3_F18_10
-
Team:Data Access and Database
Description
It looks like PipelineTask.runQuantum (at least) uses iteration through the Config instance to find all of the input and output DatasetTypes. This at least partially ignores the get*DatasetType methods, which should be permitted to add and modify the set of DatasetTypes processed.
Fixing this may involving changing the signatures of the get*DatasetType methods a bit - there is at least some information (e.g. "scalar") that is currently only available from the configs, and that probably needs to be forwarded through the get*DatasetType methods so they can be considered the final source of truth by PipelineTask and all activators.
I'm having hard time imagining how can I change get*DatasetType to also return extra info from configuration object without making it overly complicated and keeping it future-proof.
How about adding extra method to PipelineTask which returns the value of "scalar" for given field with default implementation that sub-classes can override as well, e.g.:
@classmethod
I do not particularly like this, if we need to add something else to configuration it would mean new method like this will be needed. Should we just rename get*DatasetType() to get*DatasetConfig() and return configuration objects from those (and let sub-classes override those)?