fix(chunks): process partial encoded chunk properly handles missing blocks #3033
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The signature check for partial encoded chunks looks up the epoch id using the referenced block hash, however if this block is not known by the node then the check will fail, causing the processing of the chunk to return an error. However, the desired behaviour is to signal that a block is missing so that this chunk can be re-tried in the future. This fixes the issue, properly handling the potential error from the signature check and returning
NeedBlock
appropriately.Note: The majority of the code is for the testing, the fix itself is quite small (see the second commit)
Testing Plan: