mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
Capture a missed VC error (#2436)
## Issue Addressed Related to #2430, #2394 ## Proposed Changes As per https://github.com/sigp/lighthouse/issues/2430#issuecomment-875323615, ensure that the `ProductionValidatorClient::new` error raises a log and shuts down the VC. Also, I implemened `spawn_ignoring_error`, as per @michaelsproul's suggestion in https://github.com/sigp/lighthouse/pull/2436#issuecomment-876084419. I got unlucky and CI picked up a [new rustsec vuln](https://rustsec.org/advisories/RUSTSEC-2021-0072). To fix this, I had to update the following crates: - `tokio` - `web3` - `tokio-compat-02` ## Additional Info NA
This commit is contained in:
@@ -5,7 +5,6 @@ use crate::{
|
||||
validator_store::ValidatorStore,
|
||||
};
|
||||
use environment::RuntimeContext;
|
||||
use futures::future::FutureExt;
|
||||
use slog::{crit, error, info, trace};
|
||||
use slot_clock::SlotClock;
|
||||
use std::collections::HashMap;
|
||||
@@ -205,15 +204,13 @@ impl<T: SlotClock + 'static, E: EthSpec> AttestationService<T, E> {
|
||||
.into_iter()
|
||||
.for_each(|(committee_index, validator_duties)| {
|
||||
// Spawn a separate task for each attestation.
|
||||
self.inner.context.executor.spawn(
|
||||
self.clone()
|
||||
.publish_attestations_and_aggregates(
|
||||
slot,
|
||||
committee_index,
|
||||
validator_duties,
|
||||
aggregate_production_instant,
|
||||
)
|
||||
.map(|_| ()),
|
||||
self.inner.context.executor.spawn_ignoring_error(
|
||||
self.clone().publish_attestations_and_aggregates(
|
||||
slot,
|
||||
committee_index,
|
||||
validator_duties,
|
||||
aggregate_production_instant,
|
||||
),
|
||||
"attestation publish",
|
||||
);
|
||||
});
|
||||
|
||||
@@ -2,7 +2,6 @@ use crate::beacon_node_fallback::{BeaconNodeFallback, RequireSynced};
|
||||
use crate::http_metrics::metrics;
|
||||
use environment::RuntimeContext;
|
||||
use eth2::types::StateId;
|
||||
use futures::future::FutureExt;
|
||||
use parking_lot::RwLock;
|
||||
use slog::{debug, trace};
|
||||
use slog::{error, Logger};
|
||||
@@ -142,7 +141,7 @@ impl<T: SlotClock + 'static, E: EthSpec> ForkService<T, E> {
|
||||
// Run an immediate update before starting the updater service.
|
||||
context
|
||||
.executor
|
||||
.spawn(self.clone().do_update().map(|_| ()), "fork service update");
|
||||
.spawn_ignoring_error(self.clone().do_update(), "fork service update");
|
||||
|
||||
let executor = context.executor.clone();
|
||||
let log = context.log().clone();
|
||||
|
||||
Reference in New Issue
Block a user