fixed prphan correction status bug

This commit is contained in:
viraladmin 2026-05-27 10:19:59 -06:00
parent c2f907a36a
commit ddc4cef037
1 changed files with 10 additions and 5 deletions

View File

@ -1,17 +1,22 @@
pub fn should_retry_staged_candidate(error: &str) -> bool { pub fn should_retry_staged_candidate(error: &str) -> bool {
// These errors mean the torrent metadata may still describe the winning // Explicit "not found" responses mean connected peers cannot seed this
// block, but this node could not fetch enough block data to prove it yet. // candidate anymore. Keep retry behavior for local timing/concurrency
error.contains("No available peer could provide remaining pieces") // conditions only.
if error.contains("No available peer could provide remaining pieces")
|| error.contains("piece not found") || error.contains("piece not found")
|| error.contains("Requested candidate not found") || error.contains("Requested candidate not found")
|| error.contains("Block not found") || error.contains("Block not found")
|| (error.contains("Block ") && error.contains(" not found")) || (error.contains("Block ") && error.contains(" not found"))
|| error.contains("Timed out waiting for piece") || error.contains("Downloaded candidate length does not match torrent metadata")
{
return false;
}
error.contains("Timed out waiting for piece")
|| error.contains("Timed out waiting for replacement torrent") || error.contains("Timed out waiting for replacement torrent")
|| error.contains("No replacement torrent received") || error.contains("No replacement torrent received")
|| error.contains("Piece reply channel closed") || error.contains("Piece reply channel closed")
|| error.contains("Replay waiting for block pieces") || error.contains("Replay waiting for block pieces")
|| error.contains("Candidate download already active") || error.contains("Candidate download already active")
|| error.contains("Timed out waiting for active candidate download") || error.contains("Timed out waiting for active candidate download")
|| error.contains("Downloaded candidate length does not match torrent metadata")
} }