Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gossamer does not answer descending block requests #2974

Closed
EclesioMeloJunior opened this issue Nov 24, 2022 · 1 comment · Fixed by #2990
Closed

Gossamer does not answer descending block requests #2974

EclesioMeloJunior opened this issue Nov 24, 2022 · 1 comment · Fixed by #2990
Assignees

Comments

@EclesioMeloJunior
Copy link
Member

EclesioMeloJunior commented Nov 24, 2022

Describe the bug

  • I am using westend-local with bob as the unique block producer and I start gossamer as bob after the gossamer node produced around 30 blocks I started substrate node as alice and as usual substrate executes a block request like the bellow example:
DEBUG tokio-runtime-worker sync: Connected 12D3KooWHw4UXtfTnxDpLRYqP1svSxTikrMrYSG1UwUg3sFc4LCx    
TRACE tokio-runtime-worker sync: New block request for 12D3KooWHw4UXtfTnxDpLRYqP1svSxTikrMrYSG1UwUg3sFc4LCx, (best:41, common:0) BlockRequest { id: 0, fields: HEADER | BODY | JUSTIFICATION, from: Hash(0xdf56ae17a070025c7c63b5d81dbbd34deb2f9fded7dfe0465482317b51df9902), direction: Descending, max: Some(41) }    
  • Gossamer receives this message as printed in the bellow logs:
TRACE    host 12D3KooWHw4UXtfTnxDpLRYqP1svSxTikrMrYSG1UwUg3sFc4LCx received message from peer 12D3KooWFRAiaCpbSXPiSJ8isS9xyHkn4dXWTETSPZwmJ99U6RKW: BlockRequestMessage RequestedData=19 StartingBlock={[223 86 174 23 160 112 2 92 124 99 181 216 29 187 211 77 235 47 159 222 215 223 224 70 84 130 49 123 81 223 153 2]} EndBlockHash=0x0000000000000000000000000000000000000000000000000000000000000000 Direction=1 Max=41	inbound.go:L43	pkg=network
DEBUG    handling BlockRequestMessage with direction descending from start block with hash 0xdf56ae17a070025c7c63b5d81dbbd34deb2f9fded7dfe0465482317b51df9902 to end block with hash 0x3e54455287ee4bfbfcb0576d7747505bc8981ec602a01b3ea0a067134fb6f72b	message.go:L212	pkg=sync
DEBUG    cannot create response for request: start node does not exist	sync.go:L117	pkg=network
  • The point is that the hashes/blocks requested by substrate exists in the Gossamer node, but for some reason the Gossamer node cannot retrieve them

[EDIT]

  • Currently, blockState.SubChain only retrieve blocks from memory that is a limitation when we try to search for a subchain that is stored on disk.
  • blockState.SubChain should be able to retrieve block from the disk as well.
Copy link

🎉 This issue has been resolved in version 0.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants