mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
compactor: wait for After() in TestPeriodic
If the test calls clock.Advance() after the compactor checks clock.Now() but before the compactor calls clock.After(), the compactor will wait forever on clock.After() expecting the lost clock.Advance(). Reproduced failure by putting a Sleep() in the clock.Now() continue path. Fixes #6060 (again)
This commit is contained in:
@@ -47,7 +47,10 @@ func TestPeriodic(t *testing.T) {
|
||||
fc.Advance(checkCompactionInterval)
|
||||
rg.Wait(1)
|
||||
}
|
||||
// ready to acknowledge hour "i"; unblock clock
|
||||
// ready to acknowledge hour "i"
|
||||
// block until compactor calls clock.After()
|
||||
fc.BlockUntil(1)
|
||||
// unblock the After()
|
||||
fc.Advance(checkCompactionInterval)
|
||||
a, err := compactable.Wait(1)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user