-
Notifications
You must be signed in to change notification settings - Fork 270
Automatically use optimal Block Engine region #920
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: seg/v2.2.19-jito
Are you sure you want to change the base?
Conversation
91cf267
to
89a10a9
Compare
core/src/proxy/block_engine_stage.rs
Outdated
})?; | ||
Self::get_endpoint(local_block_engine_config.block_engine_url.clone())?; | ||
|
||
if !local_block_engine_config.disable_block_engine_autoconfig { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use new discovery stuff here
d0daeb8
to
f58d38f
Compare
@@ -121,7 +122,8 @@ impl BroadcastStageType { | |||
bank_forks: Arc<RwLock<BankForks>>, | |||
shred_version: u16, | |||
quic_endpoint_sender: AsyncSender<(SocketAddr, Bytes)>, | |||
shred_receiver_address: Arc<RwLock<Option<SocketAddr>>>, | |||
shredstream_receiver_address: Arc<ArcSwap<Option<SocketAddr>>>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the difference between shredstream_receiver_address
and shred_receiver_address
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 is auto configured, 1 is manually configured. we dedup if they are the same
f8f9e87
to
4f13711
Compare
@@ -206,28 +400,6 @@ impl BlockEngineStage { | |||
// Get a copy of configs here in case they have changed at runtime | |||
let keypair = cluster_info.keypair().clone(); | |||
|
|||
let mut backend_endpoint = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
moved to endpoint parameter and get_endpoint
This pull request introduces several changes aimed at improving the handling of configuration by adding support for dynamic Block Engine endpoint discovery. Whenever the connection with the block engine is broken, we automatically try to connect to the best available region.
Changes:
ping
utilitydisable_block_engine_autoconfig
flag inBlockEngineConfig
to allow users to bypass automatic endpoint discoveryRwLock
withArcSwap
forshred_receiver_address
to avoid acquiring a lock per sent shred batch