You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #2890 a downcast was added in the block downloader and verifier, after verifying the block, to differentiate between a verification error and a generic service error (since the buffered verification service returns a BoxError). Depending on the downcast result the underlying error is put into one of the BlockDownloadVerifyError variants.
The error returned is eventually used in should_restart_sync by the syncer to ignore specific errors when deciding whether to restart the sync or not.
However, if the downcast is wrong (or becomes wrong after some refactoring, for example) then this filter will fail because all errors will be considered "service errors" which will make the syncer restart everytime one of these "ignorable" errors happen, which slows the sync down.
#2890 added a best-effort check which logs an error if it detects that happening. However, it would be best to have a proper test for it, however it is tricky to write and was postponed.
In other words, what needs to be tested is: when these errors happen, are they correctly detected by should_restart_sync?
Specifications
Designs
Related Work
The text was updated successfully, but these errors were encountered:
Motivation
In #2890 a downcast was added in the block downloader and verifier, after verifying the block, to differentiate between a verification error and a generic service error (since the buffered verification service returns a
BoxError
). Depending on the downcast result the underlying error is put into one of theBlockDownloadVerifyError
variants.The error returned is eventually used in
should_restart_sync
by the syncer to ignore specific errors when deciding whether to restart the sync or not.However, if the downcast is wrong (or becomes wrong after some refactoring, for example) then this filter will fail because all errors will be considered "service errors" which will make the syncer restart everytime one of these "ignorable" errors happen, which slows the sync down.
#2890 added a best-effort check which logs an error if it detects that happening. However, it would be best to have a proper test for it, however it is tricky to write and was postponed.
In other words, what needs to be tested is: when these errors happen, are they correctly detected by
should_restart_sync
?Specifications
Designs
Related Work
The text was updated successfully, but these errors were encountered: