The functionality of RunRouter's filling is confusing. By default, it tries to fill and silently gives up if it encounters a spec it doesn't know. You can opt in to stricter behavior. So far, so good.
But when it fails to resolve a spec, it bails on filling the entire document. That is, if an Event has fields from two detectors, and we know how to fill Detector A but we don't know how to fill Detector B, neither will be filled.
I haven't given thought yet to what we should do about this, just making sure it is documented.
The functionality of
RunRouter
's filling is confusing. By default, it tries to fill and silently gives up if it encounters aspec
it doesn't know. You can opt in to stricter behavior. So far, so good.https://github.com/bluesky/event-model/blob/14b082682a428d54e92676368777285b17815183/event_model/__init__.py#L1223-L1227
But when it fails to resolve a
spec
, it bails on filling the entire document. That is, if an Event has fields from two detectors, and we know how to fill Detector A but we don't know how to fill Detector B, neither will be filled.I haven't given thought yet to what we should do about this, just making sure it is documented.
https://github.com/bluesky/event-model/blob/14b082682a428d54e92676368777285b17815183/event_model/__init__.py#L1342-L1349