From a35517cc9aaa8d0d7b9b5cf83891c988e946280a Mon Sep 17 00:00:00 2001 From: Gaius Date: Tue, 6 Aug 2024 15:47:02 +0800 Subject: [PATCH] feat: remove unused context and update api version (#3412) Signed-off-by: Gaius --- .github/workflows/compatibility-e2e-v2.yml | 8 ++--- client-rs | 2 +- go.mod | 2 +- go.sum | 4 +-- pkg/digest/digest.go | 10 +++++++ pkg/objectstorage/mocks/objectstorage_mock.go | 30 +++++++++---------- scheduler/service/service_v2.go | 4 +-- scheduler/service/service_v2_test.go | 8 ++--- 8 files changed, 39 insertions(+), 29 deletions(-) diff --git a/.github/workflows/compatibility-e2e-v2.yml b/.github/workflows/compatibility-e2e-v2.yml index 896ec496398..1aaec0db489 100644 --- a/.github/workflows/compatibility-e2e-v2.yml +++ b/.github/workflows/compatibility-e2e-v2.yml @@ -28,19 +28,19 @@ jobs: include: - module: manager image: manager - image-tag: v2.1.46 + image-tag: v2.1.53 chart-name: manager - module: scheduler image: scheduler - image-tag: v2.1.46 + image-tag: v2.1.53 chart-name: scheduler - module: client image: client - image-tag: v0.1.76 + image-tag: v0.1.95 chart-name: client - module: seed-client image: client - image-tag: v0.1.76 + image-tag: v0.1.95 chart-name: seed-client steps: diff --git a/client-rs b/client-rs index 6e760e877e9..87460eedc03 160000 --- a/client-rs +++ b/client-rs @@ -1 +1 @@ -Subproject commit 6e760e877e9dded1e8d16c22e48f3fc935ff1fae +Subproject commit 87460eedc034066456984d112b28f649f02bed79 diff --git a/go.mod b/go.mod index 838562946bd..d3e67c29a59 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module d7y.io/dragonfly/v2 go 1.21 require ( - d7y.io/api/v2 v2.0.141 + d7y.io/api/v2 v2.0.142 github.com/MysteriousPotato/go-lockable v1.0.0 github.com/RichardKnop/machinery v1.10.8 github.com/Showmax/go-fqdn v1.0.0 diff --git a/go.sum b/go.sum index 04c7c246451..a0502370e3a 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -d7y.io/api/v2 v2.0.141 h1:pRGCLKcNtBB026b/sJXMBVeh1Ik0/7nxHN7YFXi1uhU= -d7y.io/api/v2 v2.0.141/go.mod h1:IakrltEphFvcLIQs3NVeb9PAe66MGDnd2/HMs9DKYu8= +d7y.io/api/v2 v2.0.142 h1:u1gQZwCKJODdJB883J9e5SRK9VmOTmApX13FX/bR0Vk= +d7y.io/api/v2 v2.0.142/go.mod h1:IakrltEphFvcLIQs3NVeb9PAe66MGDnd2/HMs9DKYu8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= diff --git a/pkg/digest/digest.go b/pkg/digest/digest.go index f377c516651..8cd3dd8d3d8 100644 --- a/pkg/digest/digest.go +++ b/pkg/digest/digest.go @@ -26,6 +26,7 @@ import ( "errors" "fmt" "hash" + "hash/crc32" "io" "os" "strings" @@ -34,6 +35,9 @@ import ( ) const ( + // AlgorithmCRC32 is crc32 algorithm name of hash. + AlgorithmCRC32 = "crc32" + // AlgorithmBlake3 is blake3 algorithm name of hash. AlgorithmBlake3 = "blake3" @@ -82,6 +86,8 @@ func HashFile(path string, algorithm string) (string, error) { var h hash.Hash switch algorithm { + case AlgorithmCRC32: + h = crc32.NewIEEE() case AlgorithmBlake3: h = blake3.New() case AlgorithmSHA1: @@ -116,6 +122,10 @@ func Parse(digest string) (*Digest, error) { encoded := values[1] switch algorithm { + case AlgorithmCRC32: + if len(encoded) != 8 { + return nil, errors.New("invalid encoded") + } case AlgorithmBlake3: if len(encoded) != 64 { return nil, errors.New("invalid encoded") diff --git a/pkg/objectstorage/mocks/objectstorage_mock.go b/pkg/objectstorage/mocks/objectstorage_mock.go index 2d99f03ecaf..5ca5899e3ba 100644 --- a/pkg/objectstorage/mocks/objectstorage_mock.go +++ b/pkg/objectstorage/mocks/objectstorage_mock.go @@ -127,6 +127,21 @@ func (mr *MockObjectStorageMockRecorder) GetMetadata(ctx any) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetadata", reflect.TypeOf((*MockObjectStorage)(nil).GetMetadata), ctx) } +// GetObject mocks base method. +func (m *MockObjectStorage) GetObject(ctx context.Context, bucketName, objectKey string) (io.ReadCloser, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetObject", ctx, bucketName, objectKey) + ret0, _ := ret[0].(io.ReadCloser) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetObject indicates an expected call of GetObject. +func (mr *MockObjectStorageMockRecorder) GetObject(ctx, bucketName, objectKey any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetObject", reflect.TypeOf((*MockObjectStorage)(nil).GetObject), ctx, bucketName, objectKey) +} + // GetObjectMetadata mocks base method. func (m *MockObjectStorage) GetObjectMetadata(ctx context.Context, bucketName, objectKey string) (*objectstorage.ObjectMetadata, bool, error) { m.ctrl.T.Helper() @@ -158,21 +173,6 @@ func (mr *MockObjectStorageMockRecorder) GetObjectMetadatas(ctx, bucketName, pre return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetObjectMetadatas", reflect.TypeOf((*MockObjectStorage)(nil).GetObjectMetadatas), ctx, bucketName, prefix, marker, delimiter, limit) } -// GetObject mocks base method. -func (m *MockObjectStorage) GetObject(ctx context.Context, bucketName, objectKey string) (io.ReadCloser, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetObject", ctx, bucketName, objectKey) - ret0, _ := ret[0].(io.ReadCloser) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetObject indicates an expected call of GetObject. -func (mr *MockObjectStorageMockRecorder) GetObject(ctx, bucketName, objectKey any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetObject", reflect.TypeOf((*MockObjectStorage)(nil).GetObject), ctx, bucketName, objectKey) -} - // GetSignURL mocks base method. func (m *MockObjectStorage) GetSignURL(ctx context.Context, bucketName, objectKey string, method objectstorage.Method, expire time.Duration) (string, error) { m.ctrl.T.Helper() diff --git a/scheduler/service/service_v2.go b/scheduler/service/service_v2.go index cb39b011f39..e415466ea81 100644 --- a/scheduler/service/service_v2.go +++ b/scheduler/service/service_v2.go @@ -171,7 +171,7 @@ func (v *V2) AnnouncePeer(stream schedulerv2.Scheduler_AnnouncePeerServer) error case *schedulerv2.AnnouncePeerRequest_DownloadPieceFinishedRequest: piece := announcePeerRequest.DownloadPieceFinishedRequest.Piece log.Infof("receive DownloadPieceFinishedRequest, piece number: %d, piece length: %d, traffic type: %s, cost: %s, parent id: %s", piece.GetNumber(), piece.GetLength(), piece.GetTrafficType(), piece.GetCost().AsDuration().String(), piece.GetParentId()) - if err := v.handleDownloadPieceFinishedRequest(ctx, req.GetPeerId(), announcePeerRequest.DownloadPieceFinishedRequest); err != nil { + if err := v.handleDownloadPieceFinishedRequest(req.GetPeerId(), announcePeerRequest.DownloadPieceFinishedRequest); err != nil { log.Error(err) return err } @@ -1154,7 +1154,7 @@ func (v *V2) handleDownloadPeerBackToSourceFailedRequest(ctx context.Context, pe } // handleDownloadPieceFinishedRequest handles DownloadPieceFinishedRequest of AnnouncePeerRequest. -func (v *V2) handleDownloadPieceFinishedRequest(ctx context.Context, peerID string, req *schedulerv2.DownloadPieceFinishedRequest) error { +func (v *V2) handleDownloadPieceFinishedRequest(peerID string, req *schedulerv2.DownloadPieceFinishedRequest) error { // Construct piece. piece := &resource.Piece{ Number: int32(req.Piece.GetNumber()), diff --git a/scheduler/service/service_v2_test.go b/scheduler/service/service_v2_test.go index ce8546681bf..eeef14cc30a 100644 --- a/scheduler/service/service_v2_test.go +++ b/scheduler/service/service_v2_test.go @@ -2477,7 +2477,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { }, run: func(t *testing.T, svc *V2, req *schedulerv2.DownloadPieceFinishedRequest, peer *resource.Peer, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mp *resource.MockPeerManagerMockRecorder) { assert := assert.New(t) - assert.ErrorIs(svc.handleDownloadPieceFinishedRequest(context.Background(), peer.ID, req), status.Error(codes.InvalidArgument, "invalid digest")) + assert.ErrorIs(svc.handleDownloadPieceFinishedRequest(peer.ID, req), status.Error(codes.InvalidArgument, "invalid digest")) }, }, { @@ -2501,7 +2501,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { ) assert := assert.New(t) - assert.ErrorIs(svc.handleDownloadPieceFinishedRequest(context.Background(), peer.ID, req), status.Errorf(codes.NotFound, "peer %s not found", peer.ID)) + assert.ErrorIs(svc.handleDownloadPieceFinishedRequest(peer.ID, req), status.Errorf(codes.NotFound, "peer %s not found", peer.ID)) }, }, { @@ -2527,7 +2527,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { ) assert := assert.New(t) - assert.NoError(svc.handleDownloadPieceFinishedRequest(context.Background(), peer.ID, req)) + assert.NoError(svc.handleDownloadPieceFinishedRequest(peer.ID, req)) piece, loaded := peer.LoadPiece(int32(req.Piece.Number)) assert.True(loaded) @@ -2569,7 +2569,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { ) assert := assert.New(t) - assert.NoError(svc.handleDownloadPieceFinishedRequest(context.Background(), peer.ID, req)) + assert.NoError(svc.handleDownloadPieceFinishedRequest(peer.ID, req)) piece, loaded := peer.LoadPiece(int32(req.Piece.Number)) assert.True(loaded)