neo-go/docs
Ekaterina Pavlova 119ca27994 blockfetcher: fix block enqueue logic
Previously, the `blockQueuer` routine, which enqueues blocks into
`bQueue`, could be blocked on enqueing newer blocks if older blocks
downloading is delayed by NeoFS.

The `blocksCh` channel, acting as a queue ordered by download speed,
conflicted with the BQueue requirement for strict sequential enqueuing
(expecting an exact range of blocks), resulting in a deadlock that
stalled the process.

Before with default config settings:
```
2024-11-27T17:12:19.348+0300	INFO	persisted to disk	{"blocks":
 0, "keys": 116, "headerHeight": 0, "blockHeight": 0, "took": "15
 .509083ms"}
2024-11-27T17:19:39.574+0300	INFO	persisted to disk	{"blocks":
 16, "keys": 11107, "headerHeight": 216768, "blockHeight": 216768,
 "took": "62.762041ms"}
```
Average block persistence speed: 492.40 block/s
Average blocks number for each persist log: 584.28

After:

```
2024-11-27T17:29:03.362+0300	INFO	persisted to disk	{"blocks":
 0, "keys": 116, "headerHeight": 0, "blockHeight": 0, "took": "19
 .485084ms"}
2024-11-27T17:34:58.527+0300	INFO	persisted to disk	{"blocks":
 16, "keys": 11109, "headerHeight": 216770, "blockHeight": 216769,
 "took": "52.43925ms"}
```
Average block persistence speed: 610.33 block/s
Average blocks number for each persist log: 752.61

Close #3699

Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-11-29 13:37:50 +03:00
..
cli.md docs: fix typos 2023-08-31 14:13:51 +02:00
compiler.md docs: add more on compiler limitations, fix #3023 2024-07-26 16:03:05 +03:00
consensus.md *: migrate to Docker Compose V2 2024-08-06 15:51:17 +03:00
conventions.md [#2442] English Check 2022-05-04 19:48:27 +03:00
labels.md docs: minimally outline local labels 2023-12-21 13:25:34 +03:00
neofs-blockstorage.md blockfetcher: fix block enqueue logic 2024-11-29 13:37:50 +03:00
node-configuration.md services: add new service for fetching blocks from NeoFS 2024-09-11 08:50:31 +04:00
notary.md chore: fix typos 2024-04-01 09:43:20 +08:00
notifications.md ws: allow filtering notification by parameters 2024-11-26 00:26:04 +03:00
oracle.md [#2442] English Check 2022-05-04 19:48:27 +03:00
release-instruction.md docs: adjust release instructions 2024-05-21 14:26:05 +03:00
rpc.md neorpc: extend getpeers method 2024-06-27 10:41:59 +01:00
stateroots.md [#2442] English Check 2022-05-04 19:48:27 +03:00
vm.md docs: update vm loadhex example 2024-09-26 14:51:23 +03:00