dragonflyoss/Dragonfly2

When download large file, return error "digest not set".

Closed this issue · 3 comments

Bug report:

Error log:

{"level":"error","ts":"2024-01-30 08:49:19.897","caller":"peer/peertask_conductor.go:1759","msg":"validate digest error: digest not set","peer":"10.107.227.57-498-e6ffa012-1090-4fb7-b40d-347fbf73ac93","task":"2f2e428995eff3eb662af63bd5fcb28dd7c7def8a1892661a9d32ddb839abf8e","component":"PeerTask","trace":"686aad5ec8cce60e1b95003b6cda3b58","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).Validate\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1759\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).done\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1571\nsync.(*Once).doSlow\n\t/usr/local/go/src/sync/once.go:74\nsync.(*Once).Do\n\t/usr/local/go/src/sync/once.go:65\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).Done\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1548\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).PublishPieceInfo\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1782\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).downloadPiece\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1326\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).downloadPieceWorker\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1237"}
{"level":"error","ts":"2024-01-30 08:49:19.897","caller":"peer/peertask_conductor.go:1584","msg":"validate digest failed: digest not set","peer":"10.107.227.57-498-e6ffa012-1090-4fb7-b40d-347fbf73ac93","task":"2f2e428995eff3eb662af63bd5fcb28dd7c7def8a1892661a9d32ddb839abf8e","component":"PeerTask","trace":"686aad5ec8cce60e1b95003b6cda3b58","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).done\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1584\nsync.(*Once).doSlow\n\t/usr/local/go/src/sync/once.go:74\nsync.(*Once).Do\n\t/usr/local/go/src/sync/once.go:65\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).Done\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1548\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).PublishPieceInfo\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1782\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).downloadPiece\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1326\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskConductor).downloadPieceWorker\n\t/Users/go/src/Dragonfly2/client/daemon/peer/peertask_conductor.go:1237"}
{"level":"info","ts":"2024-01-30 08:49:19.897","caller":"peer/peertask_file.go:247","msg":"try to send unfinished progress, completed length: 9600460800, state: (false, 4000, digest not set)","peer":"10.107.227.57-498-e6ffa012-1090-4fb7-b40d-347fbf73ac93","task":"2f2e428995eff3eb662af63bd5fcb28dd7c7def8a1892661a9d32ddb839abf8e","component":"PeerTask","trace":"686aad5ec8cce60e1b95003b6cda3b58"}
{"level":"error","ts":"2024-01-30 08:49:19.897","caller":"rpcserver/rpcserver.go:747","msg":"task 10.107.227.57-498-e6ffa012-1090-4fb7-b40d-347fbf73ac93/2f2e428995eff3eb662af63bd5fcb28dd7c7def8a1892661a9d32ddb839abf8e failed: 4000/digest not set","peer":"10.107.227.57-498-e6ffa012-1090-4fb7-b40d-347fbf73ac93","component":"downloadService","trace":"686aad5ec8cce60e1b95003b6cda3b58","stacktrace":"d7y.io/dragonfly/v2/client/daemon/rpcserver.(*server).download\n\t/Users/go/src/Dragonfly2/client/daemon/rpcserver/rpcserver.go:747\nd7y.io/dragonfly/v2/client/daemon/rpcserver.(*server).Download\n\t/Users/go/src/Dragonfly2/client/daemon/rpcserver/rpcserver.go:371\nd7y.io/api/pkg/apis/dfdaemon/v1._Daemon_Download_Handler\n\t/Users/go/pkg/mod/d7y.io/api@v1.2.9/pkg/apis/dfdaemon/v1/dfdaemon.pb.go:1105\ngithub.com/grpc-ecosystem/go-grpc-middleware/recovery.StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/recovery/interceptors.go:51\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngithub.com/grpc-ecosystem/go-grpc-middleware/validator.StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/validator/validator.go:72\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngithub.com/grpc-ecosystem/go-grpc-middleware/logging/zap.StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/logging/zap/server_interceptors.go:53\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngithub.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:121\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.36.3/interceptor.go:432\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\nd7y.io/dragonfly/v2/pkg/rpc.ConvertErrorStreamServerInterceptor\n\t/Users/go/src/Dragonfly2/pkg/rpc/interceptor.go:101\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngithub.com/grpc-ecosystem/go-grpc-middleware/ratelimit.StreamServerInterceptor.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/ratelimit/ratelimit.go:34\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1.1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:49\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1\n\t/Users/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:58\ngoogle.golang.org/grpc.(*Server).processStreamingRPC\n\t/Users/go/pkg/mod/google.golang.org/grpc@v1.51.0/server.go:1636\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/Users/go/pkg/mod/google.golang.org/grpc@v1.51.0/server.go:1717\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/Users/go/pkg/mod/google.golang.org/grpc@v1.51.0/server.go:965"}

Expected behavior:

How to reproduce it:

Environment:

  • Dragonfly version:
  • OS:
  • Kernel (e.g. uname -a):
  • Others:

The commit in log is e78b257e, I can not find this commit in Dragonfly2.
Can you provide the last commit info ?
And upload log in seed peer.