Fix Version/s: None
Team:Data Access and Database
DM-26119 I learned that when pipetask uses multiprocessing we never instantiate an Instrument and therefore we never define the filters for that instrument in the global singleton.
In single process mode it's fine because at some point an Instrument is created.
Modify pipetask multiprocessing such that the dataIds are scanned for the "instrument" dimension and we call Instrument.fromName(dataId["instrument"], registry). Currently we only expect one instrument.
When the singleton is removed it's likely that some related initialization will be needed to register the filters but we assume that would allow the same initialization for multiple instruments.
CC/ Krzysztof Findeisen, John Parejko in case they have come across this problem before.
OK, thanks, I think it is ready for review then. Jenkins has just started, I'll wait until it finishes.
Eli Rykoff This should fix both single- and multi-process cases.
JIRA is slow as usual, PR is here: https://github.com/lsst/ctrl_mpexec/pull/62
Thanks, I added assert message, and I also had to add a (ugly) monkey-patch to unit test, I missed unit test failure in previous commit somehow (but Jenkins alerted me). You can check PR again to see if it is OK with you.
Yes, that is probably expected. I don't think there is anything we can do about it at the moment. I think what you have done will make a huge improvement to consistency of execution.