Details
Description
If an exception is thrown from SinkTask::close, the exception will shadow any other previous exception, because SinkTask::close is called from within a finally block.
Steps to reproduce:
- Throw an exception from SinkTask::start or SinkTask::putĀ
- Throw an exception from SinkTask::close
Expected behavior:
- All exceptions are visible in separate log messages
- The error from SinkTask::start or SinkTask::put is logged as the exception that caused the task to stop.
Actual behavior:
- The exception from SinkTask::close is logged as the exception that caused the task to stop.
- The exceptions from either SinkTask::start or SinkTask::put are swallowed and don't appear in the logs at all.
Attachments
Issue Links
- links to