Skip to content

Conversation

@NickCraver
Copy link
Collaborator

@NickCraver NickCraver commented Feb 25, 2022

In troubleshooting these 2 tests, I realized what's happening: a really dumb placement mistake in #2008. Now, instead of locking inside the damn lock, it loops outside a bit cleaner and higher up. Performance wins are the same but it's a lot sander and doesn't block both the backlog and the writer for another 5 seconds. Now only the thread lingers and it'll try to get the lock when running another pass, if it gets any in the next 5 seconds.

These 2 troublemakers lately...
Alrighty, #2008 did something exceedingly stupid: it lingered *inside the lock*, jamming the connection and backlog during linger. Instead, this moves the thread preservation up in a much cleaner way and doesn't occupy the lock.

Also adds a SpinningDown status so we can see it proper in exceptions, always.
@NickCraver NickCraver changed the title Tests: stability fixes Backlog locking fixes - more #2008 follow-up Feb 26, 2022
@NickCraver
Copy link
Collaborator Author

@philon-msft @mgravell This should fix the inadvertent post-backlog (in-lock) stall from #2008's gains...while maintaining those wins.

@NickCraver NickCraver merged commit 32dea99 into main Feb 26, 2022
@NickCraver NickCraver deleted the craver/test-stability branch February 26, 2022 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants