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

When executed at reasonable scale (2K pulls), there are random pull failures. #727

Closed
mfarooq-tech opened this issue Oct 13, 2021 · 6 comments

Comments

@mfarooq-tech
Copy link

Bug report:

When executed at reasonable scale (2K pulls), there are random pull failures. Some of the error for the task 23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41 is captured here.

{"level":"error","ts":"2021-10-13 05:07:23.539","caller":"peer/peertask_stream.go:467","msg":"download from source error: Get "https://registry.com/v2/project/repo/image/blobs/sha256:ea0d115bd2c9343c57cda37357c97e882fa250a76dc8a898c5d63dffb5b99db9\": write on closed buffer","peer":"a.b.c.d-1-9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:467\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:189\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).waitFirstPeerPacket\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:511\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:375"}
{"level":"error","ts":"2021-10-13 05:07:23.539","caller":"peer/peertask_stream.go:405","msg":"end piece result sent, peer task failed","peer":"a.b.c.d-1-9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).cleanUnfinished.func1\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:405\nsync.(*Once).doSlow\n\t/usr/local/go/src/sync/once.go:68\nsync.(*Once).Do\n\t/usr/local/go/src/sync/once.go:59\nd7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).cleanUnfinished\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:401\nd7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:469\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:189\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).waitFirstPeerPacket\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:511\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:375"}
{"level":"error","ts":"2021-10-13 05:07:23.539","caller":"peer/peertask_stream_callback.go:121","msg":"stream peer task failed, code: 1500, reason: Get "https://registry.com/v2/project/repo/image/blobs/sha256:ea0d115bd2c9343c57cda37357c97e882fa250a76dc8a898c5d63dffb5b99db9\": write on closed buffer","peer":"a.b.c.d-1-9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTaskCallback).Fail\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream_callback.go:121\nd7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).cleanUnfinished.func1\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:407\nsync.(*Once).doSlow\n\t/usr/local/go/src/sync/once.go:68\nsync.(*Once).Do\n\t/usr/local/go/src/sync/once.go:59\nd7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).cleanUnfinished\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:401\nd7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:469\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).backSource\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:189\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).waitFirstPeerPacket\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:511\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:375"}
{"level":"error","ts":"2021-10-13 05:07:23.542","caller":"peer/peertask_stream.go:269","msg":"Get "https://registry.com/v2/project/repo/image/blobs/sha256:ea0d115bd2c9343c57cda37357c97e882fa250a76dc8a898c5d63dffb5b99db9\": write on closed buffer","peer":"a.b.c.d-1-9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*streamPeerTask).Start\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_stream.go:269\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTaskManager).StartStreamPeerTask\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_manager.go:240\nd7y.io/dragonfly/v2/client/daemon/transport.(*transport).download\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/transport/transport.go:181\nd7y.io/dragonfly/v2/client/daemon/transport.(*transport).RoundTrip\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/transport/transport.go:139\nnet/http/httputil.(*ReverseProxy).ServeHTTP\n\t/usr/local/go/src/net/http/httputil/reverseproxy.go:284\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2867\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1932"}
{"level":"error","ts":"2021-10-13 05:07:23.543","caller":"peer/peertask_base.go:377","msg":"wait first peer packet error","peer":"a.b.c.d-1-9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:377"}
{"level":"error","ts":"2021-10-13 05:08:00.066","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-2b573a4a-da80-4631-941f-19fda79264b3) error: empty value, code: 4001","peer":"a.b.c.d-1-51668c85-39ac-445b-9582-50ffe94f1282","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:00.239","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-2b573a4a-da80-4631-941f-19fda79264b3) error: empty value, code: 4001","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:04.911","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-2b573a4a-da80-4631-941f-19fda79264b3) error: empty value, code: 4001","peer":"a.b.c.d-1-51668c85-39ac-445b-9582-50ffe94f1282","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:05.394","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-2b573a4a-da80-4631-941f-19fda79264b3) error: empty value, code: 4001","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:05.552","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-1b5986ab-bca1-4fe8-b2ec-9215890fd68b","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:05.911","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-14458867-c2f1-412e-86cb-8cb883a76a04","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:06.310","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-67cc9e1b-a180-41e1-8f5f-ef6febe51943","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:06.342","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-2174a58a-7566-4218-9540-8baf489df174","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:08.780","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-5d1341e6-b1d9-4dde-a438-d5c0a2730a3b) error: empty value, code: 4001","peer":"a.b.c.d-1-51668c85-39ac-445b-9582-50ffe94f1282","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:09.666","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-1c0e7a1e-e487-4242-95f1-50b884a566eb) error: empty value, code: 4001","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:09.740","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-14458867-c2f1-412e-86cb-8cb883a76a04","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:09.745","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-1b5986ab-bca1-4fe8-b2ec-9215890fd68b","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:10.631","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-a78b943d-3f35-4b26-82c7-ce812441265f","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:10.858","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-67cc9e1b-a180-41e1-8f5f-ef6febe51943","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:10.979","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(i.j.k.l-1-f3ce5cab-26e5-4c06-88cb-38bd88899cd3) error: empty value, code: 4001","peer":"a.b.c.d-1-2174a58a-7566-4218-9540-8baf489df174","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.059","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-c59e3492-198a-4b6a-acd5-e92c1c75dd06","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.099","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-aaca770c-1db3-4cf6-857f-5934f1b5511e) error: empty value, code: 4001","peer":"a.b.c.d-1-cbce7991-cb63-4d1f-94a6-d430717662e0","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.109","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-c017ed84-6c9d-4301-9ebc-f064dedba6c8","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.126","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-8b541311-6030-4c16-b80d-888c89937c11","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.193","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-f2626faa-478c-4cae-a851-be3bd50c60c4","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.245","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-2bbbd407-2867-4564-b694-3f92f6b8513d","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.300","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-aaca770c-1db3-4cf6-857f-5934f1b5511e) error: empty value, code: 4001","peer":"a.b.c.d-1-71fe4ef9-accd-4b38-91eb-552309a9d6a4","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:11.430","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-aaca770c-1db3-4cf6-857f-5934f1b5511e) error: empty value, code: 4001","peer":"a.b.c.d-1-32006628-9990-4223-bc4c-4a3e8494df9e","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:12.576","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-4f7c1908-5373-447e-a1f8-22bdb4e73e5e) error: empty value, code: 4001","peer":"a.b.c.d-1-51668c85-39ac-445b-9582-50ffe94f1282","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:13.563","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-5d1341e6-b1d9-4dde-a438-d5c0a2730a3b) error: empty value, code: 4001","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:14.643","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-c59e3492-198a-4b6a-acd5-e92c1c75dd06","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:14.729","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-8b541311-6030-4c16-b80d-888c89937c11","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:14.794","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-71fe4ef9-accd-4b38-91eb-552309a9d6a4","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:14.794","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-cbce7991-cb63-4d1f-94a6-d430717662e0","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:15.115","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-aaca770c-1db3-4cf6-857f-5934f1b5511e) error: empty value, code: 4001","peer":"a.b.c.d-1-c017ed84-6c9d-4301-9ebc-f064dedba6c8","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:15.590","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-2a0b7260-06a7-4eef-b8ae-b2b822070874) error: empty value, code: 4001","peer":"a.b.c.d-1-2bbbd407-2867-4564-b694-3f92f6b8513d","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:15.691","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(a.b.c.d-1-288e6742-f537-4131-b61c-29175305ead4) error: empty value, code: 4001","peer":"a.b.c.d-1-32006628-9990-4223-bc4c-4a3e8494df9e","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:17.131","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-2b573a4a-da80-4631-941f-19fda79264b3) error: empty value, code: 4001","peer":"a.b.c.d-1-51668c85-39ac-445b-9582-50ffe94f1282","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:688\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:18.206","caller":"peer/peertask_base.go:750","msg":"get piece task from peer(e.f.g.h-1-4f7c1908-5373-447e-a1f8-22bdb4e73e5e) error: empty value, code: 4001","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:750\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}
{"level":"error","ts":"2021-10-13 05:08:18.840","caller":"peer/peertask_base.go:808","msg":"send piece result error: e.f.g.h-1-1c0e7a1e-e487-4242-95f1-50b884a566eb, code: &{%!d(string=EOF)}","peer":"a.b.c.d-1-11462870-684c-432a-a3c5-d2761d8e4942","task":"23c4567c005ffaafa85a77bba56d07e7d2a87db6b8dea4ad54ba049ec5b93b41","component":"streamPeerTask","stacktrace":"d7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).getPieceTasks.func1\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:808\nd7y.io/dragonfly/v2/pkg/retry.Run\n\t/go/src/d7y.io/dragonfly/v2/pkg/retry/retry.go:41\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).getPieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:778\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasksByPeer\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:722\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).preparePieceTasks\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:697\nd7y.io/dragonfly/v2/client/daemon/peer.(*peerTask).pullPiecesFromPeers\n\t/go/src/d7y.io/dragonfly/v2/client/daemon/peer/peertask_base.go:419"}

Expected behavior:

How to reproduce it:

Environment:

  • Dragonfly version:
  • OS:
  • Kernel (e.g. uname -a):
  • Others:
@mfarooq-tech
Copy link
Author

disableAutoBackSource: true

@mfarooq-tech
Copy link
Author

Attached the scheduler and dfdaemon log for 9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5 .

9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5_scheduler.txt.gz
.
9e87f1b5-5ba5-4bec-bf8d-b86d12ca5aa5_dfdaemon.log

@jim3ma
Copy link
Member

jim3ma commented Oct 14, 2021

Some error logs is same with https://luffyao.com/2020/09/http2_write_on_closed_buffer_error/.
dfdaemon gets content length for source and close the stream, then downloads the resource.
I think we can merge these into one step to avoid the error in golang htttp2 implement.

@mfarooq-tech
Copy link
Author

Will this fix be available in 2.0.1?

@mfarooq-tech
Copy link
Author

Hi @jim3ma : is this fixed already?

@gaius-qi
Copy link
Member

Please use latest version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants