Skip to content

Commit

Permalink
feature: remove proto redundant field (#508)
Browse files Browse the repository at this point in the history
* feature: remove proto redundant field

Signed-off-by: zuozheng.hzz <zuozheng.hzz@alibaba-inc.com>

* feature: remove redundant proto field

Signed-off-by: zuozheng.hzz <zuozheng.hzz@alibaba-inc.com>

* feature: remove redundant proto field

Signed-off-by: zuozheng.hzz <zuozheng.hzz@alibaba-inc.com>

* feature: remove redundant proto field

Signed-off-by: zuozheng.hzz <zuozheng.hzz@alibaba-inc.com>

* feature: remove redundant proto field

Signed-off-by: zuozheng.hzz <zuozheng.hzz@alibaba-inc.com>
  • Loading branch information
garfield009 committed Jul 29, 2021
1 parent 13526cd commit 70e4207
Show file tree
Hide file tree
Showing 26 changed files with 266 additions and 311 deletions.
2 changes: 1 addition & 1 deletion cdnsystem/daemon/cdn/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func (suite *CDNManagerTestSuite) SetupSuite() {

var dragonflyURL = "http://dragonfly.io.com?a=a&b=b&c=c"

var taskID = idgen.TaskID(dragonflyURL, "a&b", &base.UrlMeta{Digest: "f1e2488bba4d1267948d9e2f7008571c"}, "dragonfly")
var taskID = idgen.TaskID(dragonflyURL, &base.UrlMeta{Digest: "f1e2488bba4d1267948d9e2f7008571c", Tag: "dragonfly", Filter: "a&b"})

func (suite *CDNManagerTestSuite) TearDownSuite() {
if suite.workHome != "" {
Expand Down
2 changes: 1 addition & 1 deletion cdnsystem/daemon/task/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ type TaskManagerTestSuite struct {

func (suite *TaskManagerTestSuite) TestRegister() {
dragonflyURL := "http://dragonfly.io.com?a=a&b=b&c=c"
taskID := idgen.TaskID(dragonflyURL, "a&b", &base.UrlMeta{Digest: "f1e2488bba4d1267948d9e2f7008571c"}, "dragonfly")
taskID := idgen.TaskID(dragonflyURL, &base.UrlMeta{Filter: "a&b", Tag: "dragonfly", Digest: "f1e2488bba4d1267948d9e2f7008571c"})
ctrl := gomock.NewController(suite.T())
cdnMgr := mock.NewMockCDNMgr(ctrl)
progressMgr := mock.NewMockSeedProgressMgr(ctrl)
Expand Down
2 changes: 1 addition & 1 deletion cdnsystem/server/service/cdn_seed_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ func constructRegisterRequest(req *cdnsystem.SeedRequest) (*types.TaskRegisterRe
URL: req.Url,
Md5: header["md5"],
TaskID: req.TaskId,
Filter: strings.Split(req.Filter, "&"),
Filter: strings.Split(req.UrlMeta.Filter, "&"),
}, nil
}

Expand Down
2 changes: 1 addition & 1 deletion client/daemon/peer/peertask_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ func newFilePeerTask(ctx context.Context,
span.SetAttributes(config.AttributePeerID.String(request.PeerId))
span.SetAttributes(semconv.HTTPURLKey.String(request.Url))

logger.Infof("request overview, url: %s, filter: %s, meta: %s, biz: %s, peer: %s", request.Url, request.Filter, request.UrlMeta, request.BizId, request.PeerId)
logger.Infof("request overview, url: %s, filter: %s, meta: %s, biz: %s, peer: %s", request.Url, request.UrlMeta.Filter, request.UrlMeta, request.UrlMeta.Tag, request.PeerId)
// trace register
_, regSpan := tracer.Start(ctx, config.SpanRegisterTask)
result, err := schedulerClient.RegisterPeerTask(ctx, request)
Expand Down
15 changes: 9 additions & 6 deletions client/daemon/peer/peertask_file_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"testing"
"time"

"d7y.io/dragonfly/v2/pkg/rpc/base"
rangers "d7y.io/dragonfly/v2/pkg/util/rangeutils"

"d7y.io/dragonfly/v2/client/clientutil"
Expand Down Expand Up @@ -102,9 +103,10 @@ func TestFilePeerTask_BackSource_WithContentLength(t *testing.T) {
}
req := &FilePeerTaskRequest{
PeerTaskRequest: scheduler.PeerTaskRequest{
Url: "http://localhost/test/data",
Filter: "",
BizId: "d7y-test",
Url: "http://localhost/test/data",
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
},
Expand Down Expand Up @@ -212,9 +214,10 @@ func TestFilePeerTask_BackSource_WithoutContentLength(t *testing.T) {
}
req := &FilePeerTaskRequest{
PeerTaskRequest: scheduler.PeerTaskRequest{
Url: "http://localhost/test/data",
Filter: "",
BizId: "d7y-test",
Url: "http://localhost/test/data",
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
},
Expand Down
14 changes: 8 additions & 6 deletions client/daemon/peer/peertask_manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,10 @@ func TestPeerTaskManager_StartFilePeerTask(t *testing.T) {
}
progress, _, err := ptm.StartFilePeerTask(context.Background(), &FilePeerTaskRequest{
PeerTaskRequest: scheduler.PeerTaskRequest{
Url: "http://localhost/test/data",
Filter: "",
BizId: "d7y-test",
Url: "http://localhost/test/data",
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
},
Expand Down Expand Up @@ -277,9 +278,10 @@ func TestPeerTaskManager_StartStreamPeerTask(t *testing.T) {
}

r, _, err := ptm.StartStreamPeerTask(context.Background(), &scheduler.PeerTaskRequest{
Url: "http://localhost/test/data",
Filter: "",
BizId: "d7y-test",
Url: "http://localhost/test/data",
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
})
Expand Down
4 changes: 2 additions & 2 deletions client/daemon/peer/peertask_reuse.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (

func (ptm *peerTaskManager) tryReuseFilePeerTask(ctx context.Context,
request *FilePeerTaskRequest) (chan *FilePeerTaskProgress, bool) {
taskID := idgen.TaskID(request.Url, request.Filter, request.UrlMeta, request.BizId)
taskID := idgen.TaskID(request.Url, request.UrlMeta)
reuse := ptm.storageManager.FindCompletedTask(taskID)
if reuse == nil {
return nil, false
Expand Down Expand Up @@ -101,7 +101,7 @@ func (ptm *peerTaskManager) tryReuseFilePeerTask(ctx context.Context,

func (ptm *peerTaskManager) tryReuseStreamPeerTask(ctx context.Context,
request *scheduler.PeerTaskRequest) (io.ReadCloser, map[string]string, bool) {
taskID := idgen.TaskID(request.Url, request.Filter, request.UrlMeta, request.BizId)
taskID := idgen.TaskID(request.Url, request.UrlMeta)
reuse := ptm.storageManager.FindCompletedTask(taskID)
if reuse == nil {
return nil, nil, false
Expand Down
4 changes: 2 additions & 2 deletions client/daemon/peer/peertask_stream.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ func newStreamPeerTask(ctx context.Context,
span.SetAttributes(config.AttributePeerID.String(request.PeerId))
span.SetAttributes(semconv.HTTPURLKey.String(request.Url))

logger.Debugf("request overview, pid: %s, url: %s, filter: %s, meta: %s, biz: %s",
request.PeerId, request.Url, request.Filter, request.UrlMeta, request.BizId)
logger.Debugf("request overview, pid: %s, url: %s, filter: %s, meta: %s, tag: %s",
request.PeerId, request.Url, request.UrlMeta.Filter, request.UrlMeta, request.UrlMeta.Tag)
// trace register
_, regSpan := tracer.Start(ctx, config.SpanRegisterTask)
result, err := schedulerClient.RegisterPeerTask(ctx, request)
Expand Down
15 changes: 9 additions & 6 deletions client/daemon/peer/peertask_stream_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"testing"
"time"

"d7y.io/dragonfly/v2/pkg/rpc/base"
rangers "d7y.io/dragonfly/v2/pkg/util/rangeutils"

"d7y.io/dragonfly/v2/pkg/source"
Expand Down Expand Up @@ -99,9 +100,10 @@ func TestStreamPeerTask_BackSource_WithContentLength(t *testing.T) {
},
}
req := &scheduler.PeerTaskRequest{
Url: url,
Filter: "",
BizId: "d7y-test",
Url: url,
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
}
Expand Down Expand Up @@ -197,9 +199,10 @@ func TestStreamPeerTask_BackSource_WithoutContentLength(t *testing.T) {
},
}
req := &scheduler.PeerTaskRequest{
Url: url,
Filter: "",
BizId: "d7y-test",
Url: url,
UrlMeta: &base.UrlMeta{
Tag: "d7y-test",
},
PeerId: peerID,
PeerHost: &scheduler.PeerHost{},
}
Expand Down
2 changes: 0 additions & 2 deletions client/daemon/service/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@ func (m *manager) Download(ctx context.Context,
peerTask := &peer.FilePeerTaskRequest{
PeerTaskRequest: scheduler.PeerTaskRequest{
Url: req.Url,
Filter: req.UrlMeta.Filter,
BizId: req.UrlMeta.Tag,
UrlMeta: req.UrlMeta,
PeerId: clientutil.GenPeerID(m.peerHost),
PeerHost: m.peerHost,
Expand Down
6 changes: 3 additions & 3 deletions client/daemon/transport/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,19 +166,19 @@ func (rt *transport) download(req *http.Request) (*http.Response, error) {

// Pick header's parameters
filter := pickHeader(req.Header, config.HeaderDragonflyFilter, rt.defaultFilter)
biz := pickHeader(req.Header, config.HeaderDragonflyBiz, rt.defaultBiz)
tag := pickHeader(req.Header, config.HeaderDragonflyBiz, rt.defaultBiz)

// Delete hop-by-hop headers
delHopHeaders(req.Header)

meta.Header = headerToMap(req.Header)
meta.Tag = tag
meta.Filter = filter

body, attr, err := rt.peerTaskManager.StartStreamPeerTask(
req.Context(),
&scheduler.PeerTaskRequest{
Url: url,
Filter: filter,
BizId: biz,
UrlMeta: meta,
PeerId: peerID,
PeerHost: rt.peerHost,
Expand Down
17 changes: 11 additions & 6 deletions internal/idgen/task_id.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,14 @@ const (

// GenerateTaskID generates a taskId.
// filter is separated by & character.
func TaskID(url string, filter string, meta *base.UrlMeta, bizID string) string {
func TaskID(url string, meta *base.UrlMeta) string {
var data []string

filter := ""
if meta != nil {
filter = meta.Filter
}

data = append(data, urlutils.FilterURLParam(url, strings.Split(filter, "&")))

if meta != nil {
Expand All @@ -45,18 +50,18 @@ func TaskID(url string, filter string, meta *base.UrlMeta, bizID string) string
if meta.Range != "" {
data = append(data, meta.Range)
}
}

if bizID != "" {
data = append(data, bizID)
if meta.Tag != "" {
data = append(data, meta.Tag)
}
}

return digestutils.Sha256(data...)
}

// GenerateTwinsTaskId used A/B testing
func TwinsTaskID(url string, filter string, meta *base.UrlMeta, bizID, peerID string) string {
taskID := TaskID(url, filter, meta, bizID)
func TwinsTaskID(url string, meta *base.UrlMeta, peerID string) string {
taskID := TaskID(url, meta)

if crc32.ChecksumIEEE([]byte(peerID))&1 == 0 {
taskID += TwinsASuffix
Expand Down

0 comments on commit 70e4207

Please sign in to comment.