Skip to content

Commit

Permalink
Grey-list workers returning server errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Wiezzel committed Sep 27, 2023
1 parent 17ccd83 commit 3231353
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions crates/query-gateway/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ impl NetworkState {
}

pub fn greylist_worker(&mut self, worker_id: PeerId) {
log::info!("Grey-listing worker {worker_id}");
self.worker_greylist.insert(worker_id, Instant::now());
}

Expand Down Expand Up @@ -389,6 +390,18 @@ impl QueryHandler {
);
let (query_id, task) = task_entry.remove_entry();

// Greylist worker if server error occurred during query execution
match &result {
query_result::Result::ServerError(e) => {
log::warn!("Server error returned for query {query_id}: {e}");
self.network_state
.write()
.await
.greylist_worker(task.worker_id);
}
_ => {}
}

if self.send_metrics {
let metrics_msg = Msg::QueryFinished(QueryFinished {
client_id: self.local_peer_id.to_string(),
Expand Down

0 comments on commit 3231353

Please sign in to comment.