mimblewimble / grin

Minimal implementation of the Mimblewimble protocol.
https://grin.mw/
Apache License 2.0
5.04k stars 992 forks source link

Prune Node sync more than 7 hours #3758

Closed noobvie closed 1 year ago

noobvie commented 1 year ago

I tried new versin v5.2.0-beta.1 and see that the sync time up to 7 hours or sometimes completely stuck. I tested in all windows/ubunbu machines in differnet continents. I set everything by default. Below is the log of grin-server: 0230617 23:29:50.960 INFO grin_servers::common::adapters - Received 32 block headers from 213.239.217.14:3414 20230617 23:29:50.982 INFO grin_servers::common::adapters - Received 28 block headers from 213.239.217.14:3414 20230617 23:39:50.166 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(85.10.201.143:3414)) 20230617 23:50:00.396 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(35.181.35.93:3414)) 20230618 00:00:10.633 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 00:10:20.908 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 00:20:21.252 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(176.9.86.219:3414)) 20230618 00:29:46.904 WARN grin_servers::grin::sync::syncer - sync: no peers available, disabling sync 20230618 00:29:58.652 WARN grin_servers::grin::sync::syncer - sync: no peers available, disabling sync 20230618 00:30:07.666 INFO grin_servers::grin::sync::syncer - sync: total_difficulty 17179869184, peer_difficulty 2076292674620832, threshold 17179869184 (last 5 blocks), enabling sync 20230618 00:30:31.697 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(157.90.146.148:3414)) 20230618 00:40:41.996 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(91.184.173.114:3414)) 20230618 00:50:42.289 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(23.94.220.240:3414)) 20230618 01:00:52.577 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(157.90.146.148:3414)) 20230618 01:11:02.885 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(157.90.146.148:3414)) 20230618 01:21:03.164 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(188.226.68.243:3414)) 20230618 01:31:13.502 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(188.226.68.243:3414)) 20230618 01:41:23.803 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(188.226.68.243:3414)) 20230618 01:51:24.082 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(107.175.127.117:3414)) 20230618 02:01:34.364 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(148.59.149.122:3414)) 20230618 02:11:44.665 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(54.39.49.39:3414)) 20230618 02:21:54.982 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(157.90.146.148:3414)) 20230618 02:30:40.267 WARN grin_servers::grin::sync::syncer - sync: no peers available, disabling sync 20230618 02:30:52.151 WARN grin_servers::grin::sync::syncer - sync: no peers available, disabling sync 20230618 02:31:01.165 INFO grin_servers::grin::sync::syncer - sync: total_difficulty 17179869184, peer_difficulty 2076318156219896, threshold 17179869184 (last 5 blocks), enabling sync 20230618 02:31:01.301 INFO grin_servers::common::adapters - Received 2 block headers from 107.174.176.161:3414 20230618 02:31:55.317 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(121.43.174.18:3414)) 20230618 02:42:05.614 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 02:52:15.920 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: false (90%), relay: Some(PeerAddr(188.68.49.23:3414)) 20230618 03:02:16.193 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 03:12:26.475 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(168.119.147.118:3414)) 20230618 03:22:36.823 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(168.119.147.118:3414)) 20230618 03:32:37.720 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 03:42:39.061 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(206.217.136.171:3414)) 20230618 03:52:49.326 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(142.132.168.230:3414)) 20230618 04:02:50.204 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(213.239.217.14:3414)) 20230618 04:13:00.472 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(188.68.49.23:3414)) 20230618 04:23:10.743 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: false (90%), relay: Some(PeerAddr(142.132.168.230:3414)) 20230618 04:33:11.014 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(107.175.127.117:3414)) 20230618 04:43:21.245 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(47.242.164.182:3414)) 20230618 04:53:31.472 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(23.94.107.192:3414)) 20230618 05:03:41.787 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(23.94.120.31:3414))

For version v5.2.0-alpha.2, it only takes 2 hours to have fully sync even only 8 connected peers.

ardocrat commented 1 year ago

Regarding your logs you lost peers several times, can be a reason. How much peers you had at all? Are you using default grin-server.toml config? If not, please share your custom config too.

noobvie commented 1 year ago

I have put everything by default, Just ./grin and run. The issue did not happen to old version. You did not have any sync issue in new version?

ardocrat commented 1 year ago

Problem is you have lost peers, maybe with PIBD_HIST capabilities who can provide PIBD segments during initial byte download. I think it will be fixed when we have more nodes updated to last version with support of PIBD.

This happened once for me, after initial PIBD step I have lost all peers, recovered slowly in next 5 minutes.

noobvie commented 1 year ago

Ok, let me try to update all of my nodes to latest version and see