v0.2.1
Integrators
Note
For integrations updating firehose-core
, check the upgrade procedure to go to v0.1.x -> v0.2.0
Operators
Important
We have had reports of older versions of this software creating corrupted merged-blocks-files (with duplicate or extra out-of-bound blocks)
This release adds additional validation of merged-blocks to prevent serving duplicate blocks from the firehose or substreams service.
This may cause service outage if you have produced those blocks or downloaded them from another party who was affected by this bug.
-
Find the affected files by running the following command (can be run multiple times in parallel, over smaller ranges)
tools check merged-blocks-batch <merged-blocks-store> <start> <stop>
-
If you see any affected range, produce fixed merged-blocks files with the following command, on each range:
tools fix-bloated-merged-blocks <merged-blocks-store> <output-store> <start>:<stop>
-
Copy the merged-blocks files created in output-store over to the your merged-blocks-store, replacing the corrupted files.
Removed
- Removed the
--dedupe-blocks
flag ontools download-from-firehose
as it can create confusion and more issues.
Fixed
- Bumped
bstream
: thefilesource
will now refuse to read blocks from a merged-files if they are not ordered or if there are any duplicate. - The command
tools download-from-firehose
will now fail if it is being served blocks "out of order", to prevent any corrupted merged-blocks from being created. - The command
tools print merged-blocks
did not print the whole merged-blocks file, the arguments were confusing: now it will parse <start_block> as a uint64. - The command
tools unmerge-blocks
did not cover the whole given range, now fixed
Added
- Added the command
tools fix-bloated-merged-blocks
to try to fix merged-blocks that contain duplicates and blocks outside of their range. - Command
tools print one-block and merged-blocks
now supports a new--output-format
jsonl
format.
Bytes data can now printed as hex or base58 string instead of base64 string.
Changed
- Changed
tools check merged-blocks-batch
argument syntax: the output-to-store is now optional.