On Mac OS we are seeing failures on the e2e outdated sigrefs tests. After investigation its found that you can have a race condition where 2 fetches for example are created; one for ‘sigrefs’ and the other for ‘all’. Before the ‘sigrefs’ fetcher completes the FetcherService subscribes the ‘all’ listener to the ‘sigrefs’ result causing the ‘all’ listener to panic because there are missing refs - and the ‘all’ fetch never happens.
Introduces a regression test and fix. We now include RefsAt as part of
the subscribers HashMap and filter more specifically for interested
listeners of the completed fetch.
On Mac OS we are seeing failures on the e2e outdated sigrefs tests. After investigation its found that you can have a race condition where 2 fetches for example are created; one for ‘sigrefs’ and the other for ‘all’. Before the ‘sigrefs’ fetcher completes the FetcherService subscribes the ‘all’ listener to the ‘sigrefs’ result causing the ‘all’ listener to panic because there are missing refs - and the ‘all’ fetch never happens.
Introduces a regression test and fix. We now include RefsAt as part of
the subscribers HashMap and filter more specifically for interested
listeners of the completed fetch.
REVIEW
Changes:
- Describe changes in the commit message
- Introduces
Vec<RefsAt>intoFetchKey
Changes:
- Missed some tidying up
Rebase