Timeouts: Improve Backlog handling and errors for users + GC rooting fixes for outstanding scenarios by NickCraver · Pull Request #2408 · StackExchange/StackExchange.Redis
added 3 commits
March 6, 2023 14:25This'll make it easier for us to see if a user is setting abortConnect=false or not when advising them.
This is to better inform users when timeouts are happening in the backlog buffer. However, it's also exposed a race in the test suite where alone on in a small batch tests run fine. When we run everything together, then `DisconnectAndNoReconnectThrowsConnectionExceptionAsync` will hang indefinitely. But of course not debugging, we have some sort of fun race here. Note the new handling inside ProcessBacklogAsync which I observed trying to figure this out - we have 1 test that's in a disposal race with backlogged items and we need to make sure everything in there gets punted out to avoid async hangs forever. But there's still another cause of this somewhere.
This was referenced
Mar 28, 2023…Token (#2413) Co-authored-by: Nick Craver <nrcraver@gmail.com>
NickCraver
changed the title
Timeouts: Improve Backlog handling and errors for users
Timeouts: Improve Backlog handling and errors for users + GC rooting fixes for outstanding scenarios
NickCraver
deleted the
craver/timeout-error-improvements
branch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters