koinos / koinos-p2p

The p2p microservice orchestrates the distribution of blocks and transactions between peers.
MIT License
6 stars 4 forks source link

Optimize sync #219

Closed mvandeberg closed 1 year ago

mvandeberg commented 1 year ago

Resolves #205 Resolves #217

Brief description

Connects peer connection to the block applicator to prevent out of order, duplicate, and irreversible block application. This significantly reduces error messages and increases peer connection stability during sync.

Checklist

Demonstration

2022-08-25 10:28:02.982769 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1879-2879 from peer QmcGiTpSm6YrmYo3rWoqrCPez2aJY4VdraBQsGsZKwFRuG
2022-08-25 10:28:02.996044 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1879-2879 from peer QmbU6XyuGNiWk613bxqGdiGki11nZxa7weoBAdBp9cQoxB
2022-08-25 10:28:03.279048 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1879-2879 from peer QmbgUbBpYpG56deCGBXZfga1XzrHyZe8LMHBGQKKtFxx3E
2022-08-25 10:28:03.799799 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1880-2880 from peer QmV46fHfJ5K92Hcr5QG7Nyqe5u2A1AGVuSA5GbBTtABsS3
2022-08-25 10:28:03.801658 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1880-2880 from peer Qmbhs9xFdXb8qcLWUMRDKavPa56rrkqnD1hiyX5DLRjwX3
2022-08-25 10:28:03.807447 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1880-2880 from peer QmNNGc6MSTRQdp69sqTqSwXbyW4PcuQH4XzLhbugfvKKe9
2022-08-25 10:28:03.807872 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1880-2880 from peer QmZExW5SD9rfW26wGk3xnzxbsjxdYqK2GTMbygQzamRyxe
2022-08-25 10:28:03.883283 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 1880-2880 from peer QmNfPGa94MfFxNbtzmzuKDCRkTXtNDhdNN6en7qseRMCuv
2022-08-25 10:28:39.711093 (p2p.Koinos) [koinos-mq-golang@v0.0.0-20220307194511-07a03f6f75f0/client.go:271] <warn>: RPC error: context deadline exceeded
2022-08-25 10:28:39.711213 (p2p.Koinos) [koinos-mq-golang@v0.0.0-20220307194511-07a03f6f75f0/client.go:272] <warn>: Trying again in 1 seconds
2022-08-25 10:29:01.885607 (p2p.Koinos) [node/node.go:351] <info>: My address:
2022-08-25 10:29:01.886578 (p2p.Koinos) [node/node.go:352] <info>:  - /ip4/10.0.0.66/tcp/8888/p2p/QmXZ6nk3iXYgJ1BH6t2zhG8H6vHmmiQ8Vk1ogoEYAR12C9
2022-08-25 10:29:01.886614 (p2p.Koinos) [node/node.go:353] <info>: Connected peers:
2022-08-25 10:29:01.886641 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/23.88.37.230/tcp/8888/p2p/QmV46fHfJ5K92Hcr5QG7Nyqe5u2A1AGVuSA5GbBTtABsS3
2022-08-25 10:29:01.886661 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/144.91.72.52/tcp/8888/p2p/Qmbhs9xFdXb8qcLWUMRDKavPa56rrkqnD1hiyX5DLRjwX3
2022-08-25 10:29:01.886680 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/144.76.219.133/tcp/8888/p2p/QmZExW5SD9rfW26wGk3xnzxbsjxdYqK2GTMbygQzamRyxe
2022-08-25 10:29:01.886697 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/194.13.80.81/tcp/8888/p2p/QmNNGc6MSTRQdp69sqTqSwXbyW4PcuQH4XzLhbugfvKKe9
2022-08-25 10:29:01.886715 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/118.69.194.69/tcp/8888/p2p/QmNfPGa94MfFxNbtzmzuKDCRkTXtNDhdNN6en7qseRMCuv
2022-08-25 10:29:01.887673 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/139.144.17.121/tcp/8888/p2p/QmcGiTpSm6YrmYo3rWoqrCPez2aJY4VdraBQsGsZKwFRuG
2022-08-25 10:29:01.887726 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/139.144.17.130/tcp/8888/p2p/QmbU6XyuGNiWk613bxqGdiGki11nZxa7weoBAdBp9cQoxB
2022-08-25 10:29:01.887746 (p2p.Koinos) [node/node.go:355] <info>:  - /ip4/45.79.175.16/tcp/8888/p2p/QmbgUbBpYpG56deCGBXZfga1XzrHyZe8LMHBGQKKtFxx3E
2022-08-25 10:29:07.790186 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2818-3818 from peer QmcGiTpSm6YrmYo3rWoqrCPez2aJY4VdraBQsGsZKwFRuG
2022-08-25 10:29:07.808369 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2818-3818 from peer QmbU6XyuGNiWk613bxqGdiGki11nZxa7weoBAdBp9cQoxB
2022-08-25 10:29:08.548194 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2819-3819 from peer QmbgUbBpYpG56deCGBXZfga1XzrHyZe8LMHBGQKKtFxx3E
2022-08-25 10:29:08.827970 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2820-3820 from peer QmV46fHfJ5K92Hcr5QG7Nyqe5u2A1AGVuSA5GbBTtABsS3
2022-08-25 10:29:08.829225 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2820-3820 from peer Qmbhs9xFdXb8qcLWUMRDKavPa56rrkqnD1hiyX5DLRjwX3
2022-08-25 10:29:08.830819 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2820-3820 from peer QmNNGc6MSTRQdp69sqTqSwXbyW4PcuQH4XzLhbugfvKKe9
2022-08-25 10:29:08.832233 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2820-3820 from peer QmZExW5SD9rfW26wGk3xnzxbsjxdYqK2GTMbygQzamRyxe
2022-08-25 10:29:08.869368 (p2p.Koinos) [p2p/peer_connection.go:144] <info>: Requesting blocks 2820-3820 from peer QmNfPGa94MfFxNbtzmzuKDCRkTXtNDhdNN6en7qseRMCuv