Skip to content

sui_v1.30.0_1721149479_ci

@akichidis akichidis tagged this 16 Jul 12:48
## Description 

The PR disables the scheduled synchronizer when we detect local commit
to lag compared to the quorum index, same as we do during block
processing. It has to be noted that we do not disable the live
synchronizer as this will normally be taken care of from the
`authority_service` block processing path.

With this change we'll avoid issues that have been observed during crash
recovery (or even lagging nodes) where some blocks are received (until
the commit voter finally gathers a quorum and cut off the block
processing path) and trigger the block synchronization attempting to
complete the causal history for the received blocks leading to a big
queue of suspended & missing blocks.

## Test plan 

CI/PT

Testing on PT environment, on the first screenshot we can see the number
of pending suspended blocks in block_manager when the synchronization is
not disabled during crash recovery - which is constantly increasing. On
the second screenshot we see that number does not increase while node
recovers and remains constant:

<img width="574" alt="Screenshot 2024-07-04 at 17 56 39"
src="https://github.com/MystenLabs/sui/assets/17335598/e78e3a7f-6db8-48bc-a1d2-b8fa2ebb918d">

<img width="573" alt="Screenshot 2024-07-04 at 18 05 31"
src="https://github.com/MystenLabs/sui/assets/17335598/e4b80309-06ff-4b76-85a9-ebea64da0ecb">


---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] Indexer: 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
Assets 2
Loading