• Austin Clements's avatar
    sync: only check for successful PopHeads in long mode · 9caaac2c
    Austin Clements authored
    In TestPoolDequeue it's surprisingly common for the queue to stay
    nearly empty the whole time and for a racing PopTail to happen in the
    window between the producer doing a PushHead and doing a PopHead. In
    short mode, there are only 100 PopTail attempts. On linux/amd64, it's
    not uncommon for this to fail 50% of the time. On linux/arm64, it's
    not uncommon for this to fail 100% of the time, causing the test to
    fail.
    
    This CL fixes this by only checking for a successful PopTail in long
    mode. Long mode makes 200,000 PopTail attempts, and has never been
    observed to fail.
    
    Fixes #31422.
    
    Change-Id: If464d55eb94fcb0b8d78fbc441d35be9f056a290
    Reviewed-on: https://go-review.googlesource.com/c/go/+/183981
    
    
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
    9caaac2c
pool_test.go 7.25 KB