Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Changed the implementation of the
stdout
pump to finish writes regardless of previous context cancellations.Motivation and Context
In few other pumps I've investigated (Splunk, Hybrid), the Pumps do not conditionally write based on context cancellations. Meaning, they always attempt to finish writing all records to their destination sinks. The STDOUT is the only Pump that purposefully closes attempts to finish writing based on any condition.
I've changed this behaviour so it now finishes all writes without being interrupted.
How This Has Been Tested
A unit test has been written that will force a cancellation context before the writes are started. Then, it will check to make sure all the writes took place. With the original implementation of
stdout
, this test failed. With the new implementation, this test passes.Types of changes
Checklist
go mod tidy && go mod vendor
go fmt -s
go vet