lighthouse/beacon_node/http_api/src
Michael Sproul 6ec649a4e2 Optimise head block root API (#4799)
## Issue Addressed

We've had a report of sync committee performance suffering with the beacon processor HTTP API prioritisations.

## Proposed Changes

Increase the priority of `/eth/v1/beacon/blocks/head/root` requests, which are used by the validator client to form sync committee messages, here:

441fc1691b/validator_client/src/sync_committee_service.rs (L181-L188)

Additionally, avoid loading the blinded block in all but the `block_id=block_root` case. I'm not sure why we were doing this previously, I suspect it was just an oversight during the implementation of the `finalized` status on API requests.

## Additional Info

I think this change should have minimal negative impact as:

- The block root endpoint is quick to compute (a few ms max).
- Only the priority of `head` requests is increased. Analytical processes that are making lots of block root requests for past slots are unable to DoS the beacon processor, as their requests will still be processed after attestations.
2023-10-03 23:59:37 +00:00
..
attestation_performance.rs improve error message (#4141) 2023-03-28 22:07:05 +00:00
attester_duties.rs attester_duties: remove unnecessary case (#4614) 2023-08-17 02:37:30 +00:00
block_id.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
block_packing_efficiency.rs Rust 1.71 lints (#4503) 2023-07-17 00:14:19 +00:00
block_rewards.rs Cache target attester balances for unrealized FFG progression calculation (#4362) 2023-06-30 01:13:06 +00:00
builder_states.rs Implement expected withdrawals endpoint (#4390) 2023-08-24 05:54:36 +00:00
database.rs Use async code when interacting with EL (#3244) 2022-07-03 05:36:50 +00:00
lib.rs Optimise head block root API (#4799) 2023-10-03 23:59:37 +00:00
metrics.rs Reduce false positive logging for late builder blocks (#4073) 2023-03-17 00:44:03 +00:00
proposer_duties.rs Shift networking configuration (#4426) 2023-08-03 01:51:47 +00:00
publish_blocks.rs Send success code for duplicate blocks on HTTP (#4655) 2023-08-28 00:55:31 +00:00
standard_block_rewards.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
state_id.rs Remove double-locking deadlock from HTTP API (#4687) 2023-08-31 11:18:00 +00:00
sync_committee_rewards.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
sync_committees.rs Shift networking configuration (#4426) 2023-08-03 01:51:47 +00:00
task_spawner.rs Send success code for duplicate blocks on HTTP (#4655) 2023-08-28 00:55:31 +00:00
test_utils.rs Prevent port re-use in HTTP API tests (#4745) 2023-09-20 01:19:03 +00:00
ui.rs Split common crates out into their own repos (#3890) 2023-04-28 01:15:40 +00:00
validator_inclusion.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
validator.rs Use BeaconProcessor for API requests (#4462) 2023-08-08 23:30:15 +00:00
version.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00