Fix races in tracing-appender unit tests #737
Merged
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.
I was able to reproduce the failures for
logs_dropped_if_lossy
on my machine when usnig loom.Realized that the Worker calls
recv
and the only time we actually will increment the error_counter is when we have a write blocking on the call towrite_all
(called by the worker) and a messege buffered in NonBlocking crossbeam sender.I added some sleeps after writes to avoid some races I saw.
For
multi_threaded_writes
, what likely is happening is that sometimes the last thread hasn't had a chance write to the queue, hence we now use recv_timeout instead of try_recv, to ensure there's more than enough time for the a message to be visible in the channel.