Skip to content
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

network/litep2p: Investigate beefy ran out of peers to request justif #4985

Open
lexnv opened this issue Jul 9, 2024 · 3 comments
Open

network/litep2p: Investigate beefy ran out of peers to request justif #4985

lexnv opened this issue Jul 9, 2024 · 3 comments

Comments

@lexnv
Copy link
Contributor

lexnv commented Jul 9, 2024

A long-running litep2p node generates this warning:

| 42         | warn       | 🥩 ran out of peers to request justif #.* from |

A similar libp2p node was started side by side, which does not present this warning.
This indicates the issue is specific to litep2p backend.

The warning is coming from:

// No valid justification received, try next peer in our set.
if let Some(peer) = self.try_next_peer() {
self.request_from_peer(peer, req_info);
} else {
warn!(
target: BEEFY_SYNC_LOG_TARGET,
"🥩 ran out of peers to request justif #{:?} from", block
);
}

The try_next_peer uses a shared known_peers between the beefy OnDemandJustificationsEngine and the GossipValidator.

The known peers are added and removed via:

pub fn note_vote_for(&mut self, peer: PeerId, round: NumberFor<B>) {
let data = self.live.entry(peer).or_default();
data.last_voted_on = round.max(data.last_voted_on);
}
/// Remove connected `peer`.
pub fn remove(&mut self, peer: &PeerId) {
self.live.remove(peer);
}

The peers are added on validate_vote and validate_finality_proof.

Could be related to:

@lexnv
Copy link
Contributor Author

lexnv commented Jul 15, 2024

@lexnv
Copy link
Contributor Author

lexnv commented Jul 19, 2024

The issue happens when beefy submits a justification request for a block number.

In this case, we are only trying to make the requests to peers that have voted on a block higher than the block number. If there are no peers that voted on a higher block, beefy emits a debug log:

// Start the requests engine - each unsuccessful received response will automatically
// trigger a new request to the next peer in the `peers_cache` until there are none left.
if let Some(peer) = self.try_next_peer() {
self.request_from_peer(peer, RequestInfo { block, active_set });
} else {
metric_inc!(self.metrics, beefy_on_demand_justification_no_peer_to_request_from);
debug!(
target: BEEFY_SYNC_LOG_TARGET,
"🥩 no good peers to request justif #{:?} from", block
);
}
}

If we submit a request and that request later on fails, beefy tries to get the next cached peer that voted on a higher block number. If there's no available peers, this time an warning is emitted:

match self.process_response(&peer, &req_info, resp) {
Err(err) => {
// No valid justification received, try next peer in our set.
if let Some(peer) = self.try_next_peer() {
self.request_from_peer(peer, req_info);
} else {
metric_inc!(
self.metrics,
beefy_on_demand_justification_no_peer_to_request_from
);
let num_cache = self.peers_cache.len();
let num_live = self.live_peers.lock().len();
warn!(
target: BEEFY_SYNC_LOG_TARGET,
"🥩 ran out of peers to request justif #{block:?} from num_cache={num_cache} num_live={num_live} err={err:?}",
);
}

From inspecting the metrics of 2 nodes (green litep2p and yellow libp2p), the nodes are performing similarly in terms not finding peers for the requests.

Screenshot 2024-07-19 at 18 22 53

Don't believe this issue is related to the connectivity of the node to the network, most likely to the fact that we are connected to peers that don't suffice the justification query.

github-merge-queue bot pushed a commit that referenced this issue Jul 20, 2024
This PR increments the beefy metric wrt no peers to query justification
from.
The metric is incremented when we submit a request to a known peer,
however that peer failed to provide a valid response, and there are no
further peers to query.

While at it, add a few extra details to identify the number of active
peers and cached peers, together with the request error

Part of:
- #4985
- #4925

---------

Signed-off-by: Alexandru Vasile <[email protected]>
github-merge-queue bot pushed a commit that referenced this issue Jul 22, 2024
This PR improves the metrics reported by litep2p on request-response
errors.

Discovered while investigating:
- #4985


We are experiencing many requests that are `Refused` by litep2p in
comparison with libp2p.
The metric roughly approximates the sum of other reasons from libp2p.
This PR aims to provide more insights.

```
{__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/sync/2", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}

    Last *: 3365
    Min: 3363
    Max: 3365
    Mean: 3365
    
    
{__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/beefy/justifications/1", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}

    Last *: 3461
    Min: 3461
    Max: 3461
    Mean: 3461
```

Part of:
- #4681

cc @paritytech/networking

---------

Signed-off-by: Alexandru Vasile <[email protected]>
TarekkMA pushed a commit to moonbeam-foundation/polkadot-sdk that referenced this issue Aug 2, 2024
This PR increments the beefy metric wrt no peers to query justification
from.
The metric is incremented when we submit a request to a known peer,
however that peer failed to provide a valid response, and there are no
further peers to query.

While at it, add a few extra details to identify the number of active
peers and cached peers, together with the request error

Part of:
- paritytech#4985
- paritytech#4925

---------

Signed-off-by: Alexandru Vasile <[email protected]>
TarekkMA pushed a commit to moonbeam-foundation/polkadot-sdk that referenced this issue Aug 2, 2024
…h#5077)

This PR improves the metrics reported by litep2p on request-response
errors.

Discovered while investigating:
- paritytech#4985


We are experiencing many requests that are `Refused` by litep2p in
comparison with libp2p.
The metric roughly approximates the sum of other reasons from libp2p.
This PR aims to provide more insights.

```
{__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/sync/2", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}

    Last *: 3365
    Min: 3363
    Max: 3365
    Mean: 3365
    
    
{__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/beefy/justifications/1", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}

    Last *: 3461
    Min: 3461
    Max: 3461
    Mean: 3461
```

Part of:
- paritytech#4681

cc @paritytech/networking

---------

Signed-off-by: Alexandru Vasile <[email protected]>
@lexnv
Copy link
Contributor Author

lexnv commented Aug 7, 2024

Looking at the performance triage from:

Count Level Triage report
54 warn 🥩 ran out of peers to request justif #.* from num_cache=.* num_live=.* err=.*
1 warn ❌ Error while dialing .*: .

After inspecting the error details that was added in:

We can deduce that the litep2p req-resp produced a RequestFailure::Refused error: { value: -100, reason: "BEEFY: Proof request refused" }.

  • 12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs is responsible for 41 warnings
  • 12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9 for 9
  • 12D3KooWPjboJq2xgrGxWUQnSyLFRkH4FD8358C1mnR8CPzVLiPr for 3
  • 12D3KooWQNAxsef2U3WAqsKR7KwkDXSMPvpGScYpqEzaW5Jq6SMA for 3
  • 12D3KooWBqtE8HgWd7ib1wmdVsKqRvKdUMZRxqeifM3pCMKcL4Di for 1

Next Steps

Detailed Logs

2024-08-07 00:58:14.725  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #21974630 from num_cache=0 num_live=2 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:30:44.132  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22003879 from num_cache=0 num_live=2 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWQNAxsef2U3WAqsKR7KwkDXSMPvpGScYpqEzaW5Jq6SMA"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:31:24.772  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22004477 from num_cache=0 num_live=4 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWBqtE8HgWd7ib1wmdVsKqRvKdUMZRxqeifM3pCMKcL4Di"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:31:24.934  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22004477 from num_cache=0 num_live=4 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWQNAxsef2U3WAqsKR7KwkDXSMPvpGScYpqEzaW5Jq6SMA"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:31:25.079  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22004477 from num_cache=0 num_live=5 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWQNAxsef2U3WAqsKR7KwkDXSMPvpGScYpqEzaW5Jq6SMA"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:31:25.224  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22004477 from num_cache=0 num_live=6 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.536  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.556  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.577  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.597  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.617  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.638  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.659  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.680  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.711  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.732  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.754  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.777  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.799  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.821  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.842  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.862  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.882  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.903  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.924  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.944  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.965  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:55.986  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.007  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.028  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.048  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.069  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.090  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.111  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.132  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.153  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.173  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 01:39:56.194  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22012239 from num_cache=0 num_live=2 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.368  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.466  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.543  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.620  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.697  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.774  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 02:07:58.857  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22037929 from num_cache=0 num_live=4 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWR1LE1RDoeRU94S6A8GcMJHtKAmkQZ4tNgHVCMvT1uaSs"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.133  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.152  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.172  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.192  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.210  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.229  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.249  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.268  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=1 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 03:41:02.279  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22127129 from num_cache=0 num_live=0 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPLqvo4L4Waqyffz9DyuAEukX6mENPJqsXZQM6aCDzdJ9"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 08:30:06.047  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22434968 from num_cache=0 num_live=2 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPjboJq2xgrGxWUQnSyLFRkH4FD8358C1mnR8CPzVLiPr"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 08:30:06.168  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22434968 from num_cache=0 num_live=2 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPjboJq2xgrGxWUQnSyLFRkH4FD8358C1mnR8CPzVLiPr"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })
2024-08-07 08:30:06.289  WARN tokio-runtime-worker beefy::sync: 🥩 ran out of peers to request justif #22434968 from num_cache=0 num_live=3 err=InvalidResponse(PeerReport { who: PeerId("12D3KooWPjboJq2xgrGxWUQnSyLFRkH4FD8358C1mnR8CPzVLiPr"), cost_benefit: ReputationChange { value: -100, reason: "BEEFY: Proof request refused" } })

github-merge-queue bot pushed a commit that referenced this issue Oct 2, 2024
This PR adds a new beefy metric to monitor the number of live beefy
peers.

Part of investigation of litep2p request failures:
#4985

cc @paritytech/networking

---------

Signed-off-by: Alexandru Vasile <[email protected]>
github-merge-queue bot pushed a commit that referenced this issue Oct 6, 2024
This PR adds a new beefy metric to monitor the number of live beefy
peers.

Part of investigation of litep2p request failures:
#4985

cc @paritytech/networking

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant