Failure of FindManyInChainP when the associated products haven't been read yet
A failure was privately reported by David Caratelli, with
FindManyInChainP::find() call failing with an error like:
%MSG-s ArtException: PostEndJob 12-Feb-2018 19:41:06 CST ModuleEndJob cet::exception caught in art ---- OtherArt BEGIN ---- EventProcessorFailure BEGIN EventProcessor: an exception occurred during current event processing ---- EventProcessorFailure BEGIN EndPathExecutor: an exception occurred during current event processing ---- ScheduleExecutionFailure BEGIN Path: ProcessingStopped. ---- ProductNotFound BEGIN Couldn't find data product with product ID 3022751813 cet::exception going through module DavidTest/davidtest run: 5412 subRun: 36 event: 1806 ---- ProductNotFound END Exception going through path end_path ---- ScheduleExecutionFailure END ---- EventProcessorFailure END ---- EventProcessorFailure END ---- OtherArt END
I believe it's a problem originating from art, and issue #18979 has been opened.
In the meanwhile, a workaround is being sneaked in
FindManyInChainP code to trigger the reading of the intermediate data products.
When the blocking issue is fixed, the workaround code should be removed from
lar::details::AssociationFinder::findWithRange(PtrCollBegin sbegin, PtrCollEnd send, Event const& event).