Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix spurious deadline exceeded error
stdlib_test.TestConnConcurrency had been flickering on CI deadline / timeout errors. This was extremely confusing because the test deadline was set for 2 minutes and the errors would occur much quicker. The problem only manifested in an extremely specific and timing sensitive situation. 1. The watchdog timer for deadlocked writes starts the goroutine to start the background reader 2. The background reader is stopped 3. The next operation is a read without a preceding write (AFAIK only CheckConn does this) 4. The deadline is set to interrupt the read 5. The goroutine from 1 actually starts the background reader 6. The background reader gets an error reading the connection with the deadline 7. The deadline is cleared 8. The next read on the connection will get the timeout error
- Loading branch information