Commit b28f9ee
committed
proof: re-try in HasProofs if some are unavailable
When CPU cycles are constrained (e.g. in CI), it can sometimes happen
that we:
- Import a proof into the multi archiver
- The multi archiver imports it into each backend
- The first backend notifies its subscribers after importing
- The custodian reacts to the notification and checks HasProof on
the multi archiver
- Because the other goroutine hasn't finished importing into all
backends, HasProof returns false
- The custodian only finishes the transfer once it receives the
notification from the second backend
All the above leads to the situation where the status "proof received"
is fired twice instead of just once, which causes the itests to fail
sometimes.1 parent e5af40e commit b28f9ee
1 file changed
+40
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
879 | 879 | | |
880 | 880 | | |
881 | 881 | | |
882 | | - | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
883 | 889 | | |
884 | 890 | | |
885 | 891 | | |
886 | 892 | | |
887 | 893 | | |
888 | 894 | | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
894 | 903 | | |
895 | 904 | | |
896 | | - | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
897 | 930 | | |
898 | 931 | | |
899 | 932 | | |
| |||
0 commit comments