Dragonfly2
Dragonfly2 copied to clipboard
Dragonfly peer download from recycled node
Bug report:
Node will auto scale which depend auto scale rules. After a node is recycled, scheduler won't delete this peer from database, other peers will still download task from this peer.
scheduler:
2022-09-04T13:04:05.871Z INFO service/service.go:220 task size scope is small and return single piece: &v1.SinglePiece{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(nil)}, sizeCache:0, unknownFields:[]uint8(nil), DstPid:"172.100.169.116-1-e594907f-ffa4-45a4-be09-2cf2279bf126", DstAddr:"172.100.169.116:65002", PieceInfo:(*v1.PieceInfo)(0xc000445730)} &v1.PieceInfo{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(nil)}, sizeCache:0, unknownFields:[]uint8(nil), PieceNum:0, RangeStart:0x0, RangeSize:0x361, PieceMd5:"", PieceOffset:0x0, PieceStyle:0, DownloadCost:0x0} {"taskID": "9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", "peerID": "172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb"}
2022-09-04T13:04:05.871Z INFO zap/server_interceptors.go:39 finished unary call with code OK {"grpc.start_time": "2022-09-04T13:04:05Z", "grpc.request.deadline": "2022-09-04T13:04:08Z", "system": "grpc", "span.kind": "server", "grpc.service": "scheduler.Scheduler", "grpc.method": "RegisterPeerTask", "grpc.code": "OK", "grpc.time_ms": 1.387}
2022-09-04T13:04:05.871Z INFO service/service.go:305 receive begin of piece: &v1.PieceResult{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc0009bf520)}, sizeCache:134, unknownFields:[]uint8(nil), TaskId:"9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", SrcPid:"172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb", DstPid:"", PieceInfo:(*v1.PieceInfo)(0xc003e6e150), BeginTime:0x0, EndTime:0x0, Success:false, Code:0, HostLoad:(*v1.HostLoad)(nil), FinishedCount:0, ExtendAttribute:(*v1.ExtendAttribute)(nil)} &v1.PieceInfo{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(nil)}, sizeCache:11, unknownFields:[]uint8(nil), PieceNum:-1, RangeStart:0x0, RangeSize:0x0, PieceMd5:"", PieceOffset:0x0, PieceStyle:0, DownloadCost:0x0} {"taskID": "9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", "peerID": "172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb"}
2022-09-04T13:04:05.872Z INFO service/service.go:630 file type is small, peer has already returned to the parent when registering {"taskID": "9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", "peerID": "172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb"}
2022-09-04T13:04:05.872Z INFO resource/peer.go:241 peer state is Running {"taskID": "9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", "peerID": "172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb"}
2022-09-04T13:04:06.135Z INFO grpclog/grpclog.go:37 [core][Server #8] grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: http2Server.HandleStreams failed to receive the preface from client: read tcp 172.100.24.218:8002->172.100.82.214:55490: read: connection reset by peer"
2022-09-04T13:04:07.777Z ERROR service/service.go:350 receive failed piece: &v1.PieceResult{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc0009bf520)}, sizeCache:204, unknownFields:[]uint8(nil), TaskId:"50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", SrcPid:"172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718", DstPid:"172.100.26.95-1-db8178c0-6599-48d6-8439-ca67e02f484c", PieceInfo:(*v1.PieceInfo)(0xc0004396c0), BeginTime:0x1711a9fdfad3e27c, EndTime:0x1711a9fe721573c0, Success:false, Code:4007, HostLoad:(*v1.HostLoad)(nil), FinishedCount:0, ExtendAttribute:(*v1.ExtendAttribute)(nil)} {"taskID": "50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", "peerID": "172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718"}
d7y.io/dragonfly/v2/scheduler/service.(*Service).ReportPieceResult
/go/src/d7y.io/dragonfly/v2/scheduler/service/service.go:350
d7y.io/dragonfly/v2/scheduler/rpcserver.(*Server).ReportPieceResult
/go/src/d7y.io/dragonfly/v2/scheduler/rpcserver/rpcserver.go:78
d7y.io/api/pkg/apis/scheduler/v1._Scheduler_ReportPieceResult_Handler
/go/pkg/mod/d7y.io/[email protected]/pkg/apis/scheduler/v1/scheduler.pb.go:1965
github.com/grpc-ecosystem/go-grpc-middleware/recovery.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/recovery/interceptors.go:51
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/validator.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/validator/validator.go:72
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/logging/zap.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/logging/zap/server_interceptors.go:53
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/server_metrics.go:121
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.StreamServerInterceptor.func1
/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]/interceptor.go:412
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
d7y.io/dragonfly/v2/pkg/rpc.ConvertErrorStreamServerInterceptor
/go/src/d7y.io/dragonfly/v2/pkg/rpc/interceptor.go:101
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/ratelimit.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/ratelimit/ratelimit.go:34
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:58
google.golang.org/grpc.(*Server).processStreamingRPC
/go/pkg/mod/google.golang.org/[email protected]/server.go:1571
google.golang.org/grpc.(*Server).handleStream
/go/pkg/mod/google.golang.org/[email protected]/server.go:1646
google.golang.org/grpc.(*Server).serveStreams.func1.2
/go/pkg/mod/google.golang.org/[email protected]/server.go:938
2022-09-04T13:04:07.777Z INFO service/service.go:714 schedule parent because of peer receive failed piece {"taskID": "50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", "peerID": "172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718"}
2022-09-04T13:04:07.778Z INFO scheduler/scheduler.go:315 candidate parents include []string{"172.100.161.151-1-be6de58f-7b19-4efb-8b3e-10f891b3a018", "172.100.169.116-1-c822e10e-a8b9-4c24-9be4-01ca3d60ec94", "172.100.237.243-1-51bf2b99-c476-46a0-b73f-f0a6bcca0f9f"} {"taskID": "50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", "peerID": "172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718"}
2022-09-04T13:04:07.779Z INFO scheduler/scheduler.go:207 schedule parent successful, replace parent to 172.100.169.116-1-c822e10e-a8b9-4c24-9be4-01ca3d60ec94 and candidate parents is [172.100.161.151-1-be6de58f-7b19-4efb-8b3e-10f891b3a018 172.100.237.243-1-51bf2b99-c476-46a0-b73f-f0a6bcca0f9f] {"taskID": "50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", "peerID": "172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718"}
2022-09-04T13:04:07.779Z INFO scheduler/scheduler.go:139 schedule parent 1 times successfully {"taskID": "50076f5d38b0b2dfc5c5b219159b223f629ce84a840cbe3bb5dd4ad7d52fb153", "peerID": "172.100.76.151-1-a095c14c-6d5d-44cd-937d-c83d0f20f718"}
2022-09-04T13:04:07.872Z ERROR service/service.go:350 receive failed piece: &v1.PieceResult{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc0009bf520)}, sizeCache:205, unknownFields:[]uint8(nil), TaskId:"9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", SrcPid:"172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb", DstPid:"172.100.169.116-1-e594907f-ffa4-45a4-be09-2cf2279bf126", PieceInfo:(*v1.PieceInfo)(0xc000445a40), BeginTime:0x1711a9fe00834467, EndTime:0x1711a9fe77be91ca, Success:false, Code:4007, HostLoad:(*v1.HostLoad)(nil), FinishedCount:0, ExtendAttribute:(*v1.ExtendAttribute)(nil)} {"taskID": "9a621d0e2e272d3d1c0f7017b51df21067b137e6e970a22f1b9f03beafdcc665", "peerID": "172.100.76.151-1-54fc995e-b767-43e8-b8ab-04e68791f4bb"}
d7y.io/dragonfly/v2/scheduler/service.(*Service).ReportPieceResult
/go/src/d7y.io/dragonfly/v2/scheduler/service/service.go:350
d7y.io/dragonfly/v2/scheduler/rpcserver.(*Server).ReportPieceResult
/go/src/d7y.io/dragonfly/v2/scheduler/rpcserver/rpcserver.go:78
d7y.io/api/pkg/apis/scheduler/v1._Scheduler_ReportPieceResult_Handler
/go/pkg/mod/d7y.io/[email protected]/pkg/apis/scheduler/v1/scheduler.pb.go:1965
github.com/grpc-ecosystem/go-grpc-middleware/recovery.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/recovery/interceptors.go:51
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/validator.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/validator/validator.go:72
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/logging/zap.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/logging/zap/server_interceptors.go:53
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/server_metrics.go:121
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.StreamServerInterceptor.func1
/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]/interceptor.go:412
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
d7y.io/dragonfly/v2/pkg/rpc.ConvertErrorStreamServerInterceptor
/go/src/d7y.io/dragonfly/v2/pkg/rpc/interceptor.go:101
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware/ratelimit.StreamServerInterceptor.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/ratelimit/ratelimit.go:34
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:49
github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1
/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:58
google.golang.org/grpc.(*Server).processStreamingRPC
/go/pkg/mod/google.golang.org/[email protected]/server.go:1571
google.golang.org/grpc.(*Server).handleStream
/go/pkg/mod/google.golang.org/[email protected]/server.go:1646
google.golang.org/grpc.(*Server).serveStreams.func1.2
/go/pkg/mod/google.golang.org/[email protected]/server.go:938
dfdaemon:
2022-09-04T13:04:06.163Z DEBUG peer/peertask_manager.go:186 peer task found: 26d226635f29c84080c663a9c476020f25f6d84192df5aebd59e5a946bd08963/172.100.76.151-1-5e4ab6be-7950-428a-9674-64f1f4a012b9
2022-09-04T13:04:07.771Z ERROR peer/piece_downloader.go:163 task id: 001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe, piece num: 0, dst: 172.100.161.151:65002, download piece failed: Get "http://172.100.161.151:65002/download/001/001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe?peerId=172.100.161.151-1-d826461d-7de8-4f42-bd9c-79c5e53ee205": dial tcp 172.100.161.151:65002: i/o timeout
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceDownloader).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_downloader.go:163
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:188
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_downloader.go:163 task id: f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8, piece num: 0, dst: 172.100.161.151:65002, download piece failed: Get "http://172.100.161.151:65002/download/f26/f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8?peerId=172.100.161.151-1-b1b0d632-07ef-489a-bc42-119ae8bc702d": dial tcp 172.100.161.151:65002: i/o timeout
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceDownloader).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_downloader.go:163
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:188
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_manager.go:192 download piece failed, piece num: 0, error: connect with http://172.100.161.151:65002/download/001/001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe?peerId=172.100.161.151-1-d826461d-7de8-4f42-bd9c-79c5e53ee205 with error: Get "http://172.100.161.151:65002/download/001/001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe?peerId=172.100.161.151-1-d826461d-7de8-4f42-bd9c-79c5e53ee205": dial tcp 172.100.161.151:65002: i/o timeout, from peer: 172.100.161.151-1-d826461d-7de8-4f42-bd9c-79c5e53ee205 {"peer": "172.100.76.151-1-1a982a2e-fddd-4c01-93b2-3bdf0f2ccb07", "task": "001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:192
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z WARN peer/peertask_conductor.go:886 single piece download failed, switch to download from other peers {"peer": "172.100.76.151-1-1a982a2e-fddd-4c01-93b2-3bdf0f2ccb07", "task": "001619013754cad5b656a57b3c149c1f546b79e63cd30c12b4ceb6faa71f7bbe", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:886
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_downloader.go:163 task id: 8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225, piece num: 0, dst: 172.100.217.186:65002, download piece failed: Get "http://172.100.217.186:65002/download/8eb/8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225?peerId=172.100.217.186-1-1010acaf-64f2-41ac-b1ff-1873d376e1cb": dial tcp 172.100.217.186:65002: i/o timeout
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceDownloader).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_downloader.go:163
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:188
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_manager.go:192 download piece failed, piece num: 0, error: connect with http://172.100.217.186:65002/download/8eb/8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225?peerId=172.100.217.186-1-1010acaf-64f2-41ac-b1ff-1873d376e1cb with error: Get "http://172.100.217.186:65002/download/8eb/8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225?peerId=172.100.217.186-1-1010acaf-64f2-41ac-b1ff-1873d376e1cb": dial tcp 172.100.217.186:65002: i/o timeout, from peer: 172.100.217.186-1-1010acaf-64f2-41ac-b1ff-1873d376e1cb {"peer": "172.100.76.151-1-a4f3ed7e-d89d-406a-864d-83eab8c1efff", "task": "8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:192
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_manager.go:192 download piece failed, piece num: 0, error: connect with http://172.100.161.151:65002/download/f26/f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8?peerId=172.100.161.151-1-b1b0d632-07ef-489a-bc42-119ae8bc702d with error: Get "http://172.100.161.151:65002/download/f26/f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8?peerId=172.100.161.151-1-b1b0d632-07ef-489a-bc42-119ae8bc702d": dial tcp 172.100.161.151:65002: i/o timeout, from peer: 172.100.161.151-1-b1b0d632-07ef-489a-bc42-119ae8bc702d {"peer": "172.100.76.151-1-46a6b2f7-52b6-471a-9351-a5f15206c2a0", "task": "f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:192
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z WARN peer/peertask_conductor.go:886 single piece download failed, switch to download from other peers {"peer": "172.100.76.151-1-a4f3ed7e-d89d-406a-864d-83eab8c1efff", "task": "8eb6e91ee7628b8158cf64be1b07803cc25cf188aaa9327be79662f51ff67225", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:886
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z WARN peer/peertask_conductor.go:886 single piece download failed, switch to download from other peers {"peer": "172.100.76.151-1-46a6b2f7-52b6-471a-9351-a5f15206c2a0", "task": "f2690ceb4271534dfa9013dcd61c0a0b699d94af8831b49df1c76f996b85f2b8", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:886
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_downloader.go:163 task id: 8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c, piece num: 0, dst: 172.100.26.95:65002, download piece failed: Get "http://172.100.26.95:65002/download/8e7/8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c?peerId=172.100.26.95-1-3250489d-9146-4ada-878e-3fbb4bbfb3fe": dial tcp 172.100.26.95:65002: i/o timeout
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceDownloader).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_downloader.go:163
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:188
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z ERROR peer/piece_manager.go:192 download piece failed, piece num: 0, error: connect with http://172.100.26.95:65002/download/8e7/8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c?peerId=172.100.26.95-1-3250489d-9146-4ada-878e-3fbb4bbfb3fe with error: Get "http://172.100.26.95:65002/download/8e7/8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c?peerId=172.100.26.95-1-3250489d-9146-4ada-878e-3fbb4bbfb3fe": dial tcp 172.100.26.95:65002: i/o timeout, from peer: 172.100.26.95-1-3250489d-9146-4ada-878e-3fbb4bbfb3fe {"peer": "172.100.76.151-1-45f20d9c-d3d2-49de-8534-38a5ee98bca9", "task": "8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*pieceManager).DownloadPiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/piece_manager.go:192
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:873
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.771Z WARN peer/peertask_conductor.go:886 single piece download failed, switch to download from other peers {"peer": "172.100.76.151-1-45f20d9c-d3d2-49de-8534-38a5ee98bca9", "task": "8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c", "component": "PeerTask"}
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullSinglePiece
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:886
d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).pullPieces
/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_conductor.go:556
2022-09-04T13:04:07.774Z DEBUG peer/peertask_conductor.go:700 receive peerPacket task_id:"8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c" src_pid:"172.100.76.151-1-45f20d9c-d3d2-49de-8534-38a5ee98bca9" parallel_count:3 main_peer:{ip:"172.100.169.116" rpc_port:65000 peer_id:"172.100.169.116-1-c75d390b-2fd8-43b2-b967-e132397062fd"} candidate_peers:{ip:"172.100.159.76" rpc_port:65000 peer_id:"172.100.159.76-1-4f90ca0c-ab62-4c9e-905d-9696e564458f"} candidate_peers:{ip:"172.100.237.243" rpc_port:65000 peer_id:"172.100.237.243-1-0a667530-aaa6-498d-b438-7d39109d89bf"} code:Success {"peer": "172.100.76.151-1-45f20d9c-d3d2-49de-8534-38a5ee98bca9", "task": "8e7ef59855a7e6d1c62e33dee95b0dbf1c61c2d47d1011ea32d4c65b982b551c", "component": "PeerTask"}
Expected behavior:
How to reproduce it:
Environment:
- Dragonfly version: 2.0.6
- OS:
- Kernel (e.g.
uname -a
): - Others: Container runtime: docker://20.10.7, Host network: true
When the peer exits, it will actively notify the scheduler to release the task associated with the peer. If you are in an abnormal situation, it will block the abnormal node, and then do the scheduling again.
The v2.0.8
version has fix this problem.