github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/worker/v1meta.go (about) 1 // Copyright 2020 PingCAP, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package worker 15 16 import ( 17 "context" 18 "fmt" 19 20 "github.com/pingcap/tiflow/dm/pb" 21 "github.com/pingcap/tiflow/dm/pkg/log" 22 "github.com/pingcap/tiflow/dm/pkg/v1workermeta" 23 "go.uber.org/zap" 24 ) 25 26 // OperateV1Meta implements WorkerServer.OperateV1Meta. 27 func (s *Server) OperateV1Meta(ctx context.Context, req *pb.OperateV1MetaRequest) (*pb.OperateV1MetaResponse, error) { 28 log.L().Info("", zap.String("request", "OperateV1Meta"), zap.Stringer("payload", req)) 29 30 switch req.Op { 31 case pb.V1MetaOp_GetV1Meta: 32 meta, err := v1workermeta.GetSubtasksMeta() 33 if err != nil { 34 // nolint:nilerr 35 return &pb.OperateV1MetaResponse{ 36 Result: false, 37 Msg: err.Error(), 38 }, nil 39 } 40 return &pb.OperateV1MetaResponse{ 41 Result: true, 42 Meta: meta, 43 }, nil 44 case pb.V1MetaOp_RemoveV1Meta: 45 err := v1workermeta.RemoveSubtasksMeta() 46 if err != nil { 47 // nolint:nilerr 48 return &pb.OperateV1MetaResponse{ 49 Result: false, 50 Msg: err.Error(), 51 }, nil 52 } 53 return &pb.OperateV1MetaResponse{ 54 Result: true, 55 }, nil 56 default: 57 return &pb.OperateV1MetaResponse{ 58 Result: false, 59 Msg: fmt.Sprintf("invalid op %s", req.Op.String()), 60 }, nil 61 } 62 }