• Mahmood Ali's avatar
    cleanup driver eventor goroutines · d6c75e30
    Mahmood Ali authored
    This fixes few cases where driver eventor goroutines are leaked during
    normal operations, but especially so in tests.
    
    This change makes few modifications:
    
    First, it switches drivers to use `Context`s to manage shutdown events.
    Previously, it relied on callers invoking `.Shutdown()` function that is
    specific to internal drivers only and require casting.  Using `Contexts`
    provide a consistent idiomatic way to manage lifecycle for both internal
    and external drivers.
    
    Also, I discovered few places where we don't clean up a temporary driver
    instance in the plugin catalog code, where we dispense a driver to
    inspect and validate the schema config without properly cleaning it up.
    d6c75e30