-
Ottomata authored
In T326536, we added support for automatic error sinks. This actually broke configuring manual error sinks from configuration, due to a quirk in the way jsonargparse handles type inference with Union/Optional types + data classes. tl;dr: we can't use Union or Optional with a dataclass config, unless we want to configure dataclasses like other 'classes', and include things like `class_path` and `init_args`, instead of just configuring a dict. https://jsonargparse.readthedocs.io/en/stable/#class-type-and-sub-classes To still support the default of no error sink, this change introduces a dummy "null" SinkDescriptor connector type, for which both the sink and sink_to methods return None. stream_manager will actually set its own error_sink_descriptor = None if the error sink connector is "null", keeping the existant behavior of not emitting any side output. The default stream_manager error_sink is now a "null" SinkDescriptor. Bug: T335591
ba615ae2