Skip to content

Full blocks sometimes lead to forks #1144

@adamreynolds-io

Description

@adamreynolds-io

Context & versions

Full blocks sometimes take over 2 seconds to produce, which leads to forks. This is more apparent on longer chains.

Additional context from Tomasz Bartos: "due substrate receives incorrect weight, I was writing posts about it in the node/perf channels few times. For instance we do not count validation time, only the execution so that is the first and significant mismatch."

Related Slack discussions:

While this can be controlled with pool-size, it's not a perfect solution. The ledger weights should be revisited and targeted for a fix soon after launch.

Steps to reproduce

  1. Run the chain with high transaction throughput to produce full blocks
  2. Observe block production times exceeding 2 seconds
  3. Observe resulting forks, more apparent on longer chains

Actual behavior

Full blocks take over 2 seconds to produce because substrate receives incorrect weight (validation time is not counted, only execution time). This mismatch causes forks.

Expected behavior

Block production should stay within the 2-second slot time even with full blocks. Ledger weights should accurately reflect both validation and execution time.


Migrated from PM-22396

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions