arbitrum: Log critical error when fails to flush batch in setHead #585
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.
part of NIT-3936
In
setHead, the firstbatch.Write()call lacks error handling, unlike the subsequent call which checks and logs a critical error on failure. Missing the first check can hide DB write errors and leave the header chain in an inconsistent state during rewinds.Wrapping the first
batch.Write()withif err := batch.Write(); err != nil { }and handling consistently (log.Crit) - keeps behavior aligned with the second call.The upstream code differs and doesn't have that unhandled
Write()operation.