Remove support for auto error sink
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