pipeline shutdown should be clean, if it's not, it's a bug.

However, it should be fine to interrupt an input plugin. We can't expect a shutdown request to wait until all inputs are "complete" because barely any plugins have "Ok, we're done!" termination patterns. Best I can tell, shutdown *is* soft. However, because inputs have no place to feed, we try to interrupt the threads, which only sometimes works.