Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
protocol: fix FetchService race where 2 subscribers want different refs
Merged ade opened 2 months ago

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.

ade opened with revision 4459f0bb on base 537eaba8 +119 -4 2 months ago

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.

fintohaps pushed revision 2 8ab71a3b on base 537eaba8 +108 -7 2 months ago

REVIEW

fintohaps pushed revision 3 2ef82dc3 on base 537eaba8 +108 -7 2 months ago

Changes:

  • Describe changes in the commit message
  • Introduces Vec<RefsAt> into FetchKey
fintohaps pushed revision 4 b890bf8b on base 537eaba8 +99 -7 2 months ago

Changes:

  • Missed some tidying up
lorenz pushed revision 5 1f097ffa on base 993428df +99 -7 2 months ago

Rebase

lorenz merged revision 1f097ffa at 613c4e83 2 months ago