fix: storage/remote.pool interned refs count and flaky test (#16335)
* Fix storage/remote.pool interned refs count and flaky test I saw TestIntern_MultiRef_Concurrent failing on a different PR saying 'expected refs to be 1 but it was 2'. I took a look, and it definitely can be racy, especially with a time.Sleep() of just 1ms. I'm fixing that by explicitly waiting until it has been released, and by repeating that 1000 times, otherwise it's just a recipe for a future flaky test. OTOH, I also took a look at the implementation and saw that we were not holding the RLock() when increasing the references count, so when releasing there was a race condition for the cleanup, I fixed that by holding RLock() while increasing the references count. Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com> * s/Equalf/Equal/ Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com> --------- Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>pull/16309/head
parent
7d73c1d3f8
commit
c5b92f71d4
Loading…
Reference in new issue