mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
merge bitcoin#27761: Log addresses of stalling peers
This commit is contained in:
parent
2854a6aa5a
commit
1adb9a232c
@ -5900,7 +5900,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
|
|||||||
// Stalling only triggers when the block download window cannot move. During normal steady state,
|
// Stalling only triggers when the block download window cannot move. During normal steady state,
|
||||||
// the download window should be much larger than the to-be-downloaded set of blocks, so disconnection
|
// the download window should be much larger than the to-be-downloaded set of blocks, so disconnection
|
||||||
// should only happen during initial block download.
|
// should only happen during initial block download.
|
||||||
LogPrintf("Peer=%d is stalling block download, disconnecting\n", pto->GetId());
|
LogPrintf("Peer=%d%s is stalling block download, disconnecting\n", pto->GetId(), fLogIPs ? strprintf(" peeraddr=%s", pto->addr.ToStringAddrPort()) : "");
|
||||||
pto->fDisconnect = true;
|
pto->fDisconnect = true;
|
||||||
// Increase timeout for the next peer so that we don't disconnect multiple peers if our own
|
// Increase timeout for the next peer so that we don't disconnect multiple peers if our own
|
||||||
// bandwidth is insufficient.
|
// bandwidth is insufficient.
|
||||||
@ -5919,7 +5919,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
|
|||||||
QueuedBlock &queuedBlock = state.vBlocksInFlight.front();
|
QueuedBlock &queuedBlock = state.vBlocksInFlight.front();
|
||||||
int nOtherPeersWithValidatedDownloads = m_peers_downloading_from - 1;
|
int nOtherPeersWithValidatedDownloads = m_peers_downloading_from - 1;
|
||||||
if (current_time > state.m_downloading_since + std::chrono::seconds{consensusParams.nPowTargetSpacing} * (BLOCK_DOWNLOAD_TIMEOUT_BASE + BLOCK_DOWNLOAD_TIMEOUT_PER_PEER * nOtherPeersWithValidatedDownloads)) {
|
if (current_time > state.m_downloading_since + std::chrono::seconds{consensusParams.nPowTargetSpacing} * (BLOCK_DOWNLOAD_TIMEOUT_BASE + BLOCK_DOWNLOAD_TIMEOUT_PER_PEER * nOtherPeersWithValidatedDownloads)) {
|
||||||
LogPrintf("Timeout downloading block %s from peer=%d, disconnecting\n", queuedBlock.pindex->GetBlockHash().ToString(), pto->GetId());
|
LogPrintf("Timeout downloading block %s from peer=%d%s, disconnecting\n", queuedBlock.pindex->GetBlockHash().ToString(), pto->GetId(), fLogIPs ? strprintf(" peeraddr=%s", pto->addr.ToStringAddrPort()) : "");
|
||||||
pto->fDisconnect = true;
|
pto->fDisconnect = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -5935,11 +5935,11 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
|
|||||||
// disconnect our sync peer for stalling; we have bigger
|
// disconnect our sync peer for stalling; we have bigger
|
||||||
// problems if we can't get any outbound peers.
|
// problems if we can't get any outbound peers.
|
||||||
if (!pto->HasPermission(NetPermissionFlags::NoBan)) {
|
if (!pto->HasPermission(NetPermissionFlags::NoBan)) {
|
||||||
LogPrintf("Timeout downloading headers from peer=%d, disconnecting\n", pto->GetId());
|
LogPrintf("Timeout downloading headers from peer=%d%s, disconnecting\n", pto->GetId(), fLogIPs ? strprintf(" peeraddr=%s", pto->addr.ToStringAddrPort()) : "");
|
||||||
pto->fDisconnect = true;
|
pto->fDisconnect = true;
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
LogPrintf("Timeout downloading headers from noban peer=%d, not disconnecting\n", pto->GetId());
|
LogPrintf("Timeout downloading headers from noban peer=%d%s, not disconnecting\n", pto->GetId(), fLogIPs ? strprintf(" peeraddr=%s", pto->addr.ToStringAddrPort()) : "");
|
||||||
// Reset the headers sync state so that we have a
|
// Reset the headers sync state so that we have a
|
||||||
// chance to try downloading from a different peer.
|
// chance to try downloading from a different peer.
|
||||||
// Note: this will also result in at least one more
|
// Note: this will also result in at least one more
|
||||||
|
Loading…
Reference in New Issue
Block a user