Concordium / concordium-node

The main concordium node implementation.
GNU Affero General Public License v3.0
45 stars 22 forks source link

Out of band catch up occasionally stales #974

Closed mh-concordium closed 1 year ago

mh-concordium commented 1 year ago

Out of band catch up doesn't complete due to stale error.

To reproduce:

  1. After the node has caught up on stagenet (in bound), configure out of band catch up.
  2. Remove the latest blockstate file and restart the node.

Expected result After the recovery, node should start out of band catch up.

Actual result After the recovery, node starts in bound catch up.

2023-07-17T10:53:28.145703800+02:00 INFO concordium_node::consensus_ffi::ffi - Konsensus: Starting consensus operations.
2023-07-17T10:53:28.145781100+02:00 INFO concordium_node - Starting out of band catch-up
2023-07-17T10:53:28.146011+02:00 DEBUG reqwest::connect - starting new connection: https://catchup.stagenet.concordium.com/
2023-07-17T10:53:28.146112700+02:00 DEBUG hyper::client::connect::dns - resolving host="catchup.stagenet.concordium.com"
2023-07-17T10:53:28.199181100+02:00 DEBUG hyper::client::connect::http - connecting to 18.173.5.6:443
2023-07-17T10:53:28.211563+02:00 DEBUG hyper::client::connect::http - connected to 18.173.5.6:443
2023-07-17T10:53:28.268587+02:00 DEBUG hyper::proto::h1::io - flushed 80 bytes
2023-07-17T10:53:28.444881600+02:00 DEBUG hyper::proto::h1::io - parsed 14 headers
2023-07-17T10:53:28.445054600+02:00 DEBUG hyper::proto::h1::conn - incoming body is content-length (1573 bytes)
2023-07-17T10:53:28.445110300+02:00 DEBUG hyper::proto::h1::conn - incoming body completed
2023-07-17T10:53:28.445232100+02:00 DEBUG hyper::client::pool - pooling idle connection for ("https", catchup.stagenet.concordium.com)
2023-07-17T10:53:28.445911700+02:00 INFO concordium_node - Downloading the catch-up file from https://catchup.stagenet.concordium.com/blocks-5-120001.dat to C:\ProgramData\Concordium\Node Runner\stagenet\data\.tmptJOYyb
2023-07-17T10:53:28.445956+02:00 DEBUG hyper::client::pool - reuse idle connection for ("https", catchup.stagenet.concordium.com)
2023-07-17T10:53:28.446154400+02:00 DEBUG hyper::proto::h1::io - flushed 89 bytes
2023-07-17T10:53:28.742344800+02:00 DEBUG hyper::proto::h1::io - parsed 14 headers
2023-07-17T10:53:28.742397400+02:00 DEBUG hyper::proto::h1::conn - incoming body is content-length (3779733 bytes)
2023-07-17T10:53:28.998861400+02:00 DEBUG hyper::proto::h1::conn - incoming body completed
2023-07-17T10:53:28.998916200+02:00 DEBUG hyper::client::pool - pooling idle connection for ("https", catchup.stagenet.concordium.com)
2023-07-17T10:53:29.007327400+02:00 ERROR concordium_node - Could not complete out of band catch-up due to: Error during block import: Stale
2023-07-17T10:53:29.007453300+02:00 INFO concordium_node - Starting the P2P layer

Node version: 6.0.2

Note I was not able to see this issue when doing out of band catch up from 0.

MilkywayPirate commented 1 year ago

Fixed in https://github.com/Concordium/concordium-node/pull/977