freezeblocks: fix max visible segment when there is a gap in .idx files #12263
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.
We have a gap in our bor mainnet snapshot toml between
'v1-051900-052000-headers.idx' = 'd97b3c598f520888eb67244ba28d994998584e65'
'v1-054000-054100-headers.idx' = 'a20efd5aca03ebb528215b24ce6aa0c20cc90c55'
When syncing bor mainnet from scratch the node fails to sync due to that. We will fix the gap in our toml however the node should auto-recover by regenerating the .idx files
After digging further it seems like we have a regression in #11557
idxAvailability used to stop when finding a seg which is not indexed
after that PR it does not, but instead it keeps on going so idxMax gets set to 62 mil although there is a gap (it should have been set to 52 mil where the gap is)
Tested on my node and it recreated the gap of indices