v1.6.0
Compatibility
Note As of graph-node release v0.35.0, substreams that use "index modules" are not yet supported and cannot be used for Substreams-powered-Subgraphs
Upgrading
Note Upgrading to v1.6.0 will require changing the tier1 and tier2 versions concurrently, as the internal protocol has changed.
Highlights
Index Modules and Block Filter
- Index Modules and Block Filter can now be used to speed up processing and reduce the amount of parsed data.
- When indexes are used along with the
BlockFilter
attribute on a mapper, blocks can be skipped completely: they will not be run in downstreams modules or sent in the output stream, except in live segment or in dev-mode, where an empty 'clock' is still sent. - See https://github.com/streamingfast/substreams-foundational-modules for an example implementation
- Blocks that are skipped will still appear in the metering as "read bytes" (unless a full segment is skipped), but the index stores themselves are not "metered"
Scheduling / speed improvements
- The scheduler no longer duplicates work in the first segments of a request with multiple stages.
- Fix all issues with running a substreams where modules have different "initial blocks"
- Maximum Tier1 output speed improved for data that is already processed
- Tier1 'FileWalker' now polls more aggressively on local filesystem to prevent extra seconds of wait time.
Fixed
- Fix a bug in the
gui
that would crash when trying tor
estart the stream. - fix total read bytes in case data already cache
- Fixed issues when processing modules with different initialBlocks
Added
- New environment variable
SUBSTREAMS_WORKERS_RAMPUP_TIME
can specify the initial delay before tier1 will reach the number of tier2 concurrent requests. - Add 'clock' output to
substreams run
command, useful mostly for performance testing or pre-caching - (alpha) Introduce the
wasip1/tinygo-v1
binary type.
Changed / Removed
- Disabled
otelcol://
tracing protocol, its mere presence affected performance. - Previous value for
SUBSTREAMS_WORKERS_RAMPUP_TIME
was4s
, now set to0
, disabling the mechanism by default.