fix consensus finding bug
This commit is contained in:
parent
1639405f6d
commit
c3cdf7ef43
@ -122,8 +122,11 @@ impl PeakEwmaLatencyTask {
|
|||||||
self.update_at,
|
self.update_at,
|
||||||
);
|
);
|
||||||
|
|
||||||
self.rtt_estimate
|
let x = self
|
||||||
|
.rtt_estimate
|
||||||
.fetch_update(|mut rtt_estimate| rtt_estimate.update(rtt, self.decay_ns, now));
|
.fetch_update(|mut rtt_estimate| rtt_estimate.update(rtt, self.decay_ns, now));
|
||||||
|
|
||||||
|
info!("x: {:?}", x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -435,7 +435,7 @@ impl Web3Rpcs {
|
|||||||
Ok(Some(x)) => x,
|
Ok(Some(x)) => x,
|
||||||
};
|
};
|
||||||
|
|
||||||
trace!("new_synced_connections: {:?}", new_synced_connections);
|
trace!("new_synced_connections: {:#?}", new_synced_connections);
|
||||||
|
|
||||||
let watch_consensus_head_sender = self.watch_consensus_head_sender.as_ref().unwrap();
|
let watch_consensus_head_sender = self.watch_consensus_head_sender.as_ref().unwrap();
|
||||||
let consensus_tier = new_synced_connections.tier;
|
let consensus_tier = new_synced_connections.tier;
|
||||||
|
@ -375,9 +375,11 @@ impl ConsensusFinder {
|
|||||||
|
|
||||||
trace!("first_tier: {}", current_tier);
|
trace!("first_tier: {}", current_tier);
|
||||||
|
|
||||||
|
trace!("rpc_heads_by_tier: {:#?}", rpc_heads_by_tier);
|
||||||
|
|
||||||
// loop over all the rpc heads (grouped by tier) and their parents to find consensus
|
// loop over all the rpc heads (grouped by tier) and their parents to find consensus
|
||||||
// TODO: i'm sure theres a lot of shortcuts that could be taken, but this is simplest to implement
|
// TODO: i'm sure theres a lot of shortcuts that could be taken, but this is simplest to implement
|
||||||
for (rpc, rpc_head) in self.rpc_heads.iter() {
|
for (rpc, rpc_head) in rpc_heads_by_tier.into_iter() {
|
||||||
if current_tier != rpc.tier {
|
if current_tier != rpc.tier {
|
||||||
// we finished processing a tier. check for primary results
|
// we finished processing a tier. check for primary results
|
||||||
if let Some(consensus) = self.count_votes(&primary_votes, web3_rpcs) {
|
if let Some(consensus) = self.count_votes(&primary_votes, web3_rpcs) {
|
||||||
|
@ -236,7 +236,11 @@ impl Web3Rpc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn peak_ewma(&self) -> OrderedFloat<f64> {
|
pub fn peak_ewma(&self) -> OrderedFloat<f64> {
|
||||||
let peak_latency = self.peak_latency.as_ref().unwrap().latency().as_secs_f64();
|
let peak_latency = if let Some(peak_latency) = self.peak_latency.as_ref() {
|
||||||
|
peak_latency.latency().as_secs_f64()
|
||||||
|
} else {
|
||||||
|
0.0
|
||||||
|
};
|
||||||
|
|
||||||
// TODO: what ordering?
|
// TODO: what ordering?
|
||||||
let active_requests = self.active_requests.load(atomic::Ordering::Acquire) as f64 + 1.0;
|
let active_requests = self.active_requests.load(atomic::Ordering::Acquire) as f64 + 1.0;
|
||||||
|
Loading…
Reference in New Issue
Block a user