Skip to content
  • Ottomata's avatar
    Remove support for auto error sink · ba615ae2
    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