[#857] golangci: Add protogetter linter
All checks were successful
DCO action / DCO (pull_request) Successful in 1m38s
Vulncheck / Vulncheck (pull_request) Successful in 3m2s
Build / Build Components (1.21) (pull_request) Successful in 3m51s
Build / Build Components (1.20) (pull_request) Successful in 4m3s
Tests and linters / Staticcheck (pull_request) Successful in 5m17s
Tests and linters / Lint (pull_request) Successful in 6m11s
Tests and linters / Tests (1.20) (pull_request) Successful in 11m7s
Tests and linters / Tests (1.21) (pull_request) Successful in 11m32s
Tests and linters / Tests with -race (pull_request) Successful in 12m22s

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2023-12-11 13:18:34 +03:00
parent 94ffe8bb45
commit 11add38e87
10 changed files with 25 additions and 22 deletions

View file

@ -81,5 +81,6 @@ linters:
- truecloudlab-linters - truecloudlab-linters
- perfsprint - perfsprint
- testifylint - testifylint
- protogetter
disable-all: true disable-all: true
fast: false fast: false

View file

@ -220,7 +220,7 @@ func appendEstimation(sb *strings.Builder, resp *control.GetShardEvacuationStatu
if resp.GetBody().GetStatus() != control.GetShardEvacuationStatusResponse_Body_RUNNING || if resp.GetBody().GetStatus() != control.GetShardEvacuationStatusResponse_Body_RUNNING ||
resp.GetBody().GetDuration() == nil || resp.GetBody().GetDuration() == nil ||
resp.GetBody().GetTotal() == 0 || resp.GetBody().GetTotal() == 0 ||
resp.GetBody().GetEvacuated()+resp.GetBody().GetFailed()+resp.Body.GetSkipped() == 0 { resp.GetBody().GetEvacuated()+resp.GetBody().GetFailed()+resp.GetBody().GetSkipped() == 0 {
return return
} }
@ -252,8 +252,8 @@ func appendStartedAt(sb *strings.Builder, resp *control.GetShardEvacuationStatus
} }
func appendError(sb *strings.Builder, resp *control.GetShardEvacuationStatusResponse) { func appendError(sb *strings.Builder, resp *control.GetShardEvacuationStatusResponse) {
if len(resp.Body.GetErrorMessage()) > 0 { if len(resp.GetBody().GetErrorMessage()) > 0 {
sb.WriteString(fmt.Sprintf(" Error: %s.", resp.Body.GetErrorMessage())) sb.WriteString(fmt.Sprintf(" Error: %s.", resp.GetBody().GetErrorMessage()))
} }
} }

View file

@ -63,7 +63,7 @@ func removeRule(cmd *cobra.Command, _ []string) {
verifyResponse(cmd, resp.GetSignature(), resp.GetBody()) verifyResponse(cmd, resp.GetSignature(), resp.GetBody())
if resp.GetBody().Removed { if resp.GetBody().GetRemoved() {
cmd.Println("Rule has been removed.") cmd.Println("Rule has been removed.")
} else { } else {
cmd.Println("Rule has not been removed.") cmd.Println("Rule has not been removed.")

View file

@ -65,7 +65,7 @@ func prettyPrintShardsJSON(cmd *cobra.Command, ii []*control.ShardInfo) {
out := make([]map[string]any, 0, len(ii)) out := make([]map[string]any, 0, len(ii))
for _, i := range ii { for _, i := range ii {
out = append(out, map[string]any{ out = append(out, map[string]any{
"shard_id": base58.Encode(i.Shard_ID), "shard_id": base58.Encode(i.GetShard_ID()),
"mode": shardModeToString(i.GetMode()), "mode": shardModeToString(i.GetMode()),
"metabase": i.GetMetabasePath(), "metabase": i.GetMetabasePath(),
"blobstor": i.GetBlobstor(), "blobstor": i.GetBlobstor(),
@ -105,7 +105,7 @@ func prettyPrintShards(cmd *cobra.Command, ii []*control.ShardInfo) {
pathPrinter("Write-cache", i.GetWritecachePath())+ pathPrinter("Write-cache", i.GetWritecachePath())+
pathPrinter("Pilorama", i.GetPiloramaPath())+ pathPrinter("Pilorama", i.GetPiloramaPath())+
fmt.Sprintf("Error count: %d\n", i.GetErrorCount()), fmt.Sprintf("Error count: %d\n", i.GetErrorCount()),
base58.Encode(i.Shard_ID), base58.Encode(i.GetShard_ID()),
shardModeToString(i.GetMode()), shardModeToString(i.GetMode()),
) )
} }
@ -122,6 +122,6 @@ func shardModeToString(m control.ShardMode) string {
func sortShardsByID(ii []*control.ShardInfo) { func sortShardsByID(ii []*control.ShardInfo) {
sort.Slice(ii, func(i, j int) bool { sort.Slice(ii, func(i, j int) bool {
return bytes.Compare(ii[i].Shard_ID, ii[j].Shard_ID) < 0 return bytes.Compare(ii[i].GetShard_ID(), ii[j].GetShard_ID()) < 0
}) })
} }

View file

@ -74,7 +74,7 @@ func add(cmd *cobra.Command, _ []string) {
resp, err := cli.Add(ctx, req) resp, err := cli.Add(ctx, req)
commonCmd.ExitOnErr(cmd, "failed to cal add: %w", err) commonCmd.ExitOnErr(cmd, "failed to cal add: %w", err)
cmd.Println("Node ID: ", resp.Body.NodeId) cmd.Println("Node ID: ", resp.GetBody().GetNodeId())
} }
func parseMeta(cmd *cobra.Command) ([]*tree.KeyValue, error) { func parseMeta(cmd *cobra.Command) ([]*tree.KeyValue, error) {

View file

@ -114,13 +114,13 @@ func (s *Server) RemoveContainer(_ context.Context, req *control.RemoveContainer
return nil, status.Error(codes.PermissionDenied, err.Error()) return nil, status.Error(codes.PermissionDenied, err.Error())
} }
if len(req.Body.GetContainerId()) > 0 && len(req.Body.GetOwner()) > 0 { if len(req.GetBody().GetContainerId()) > 0 && len(req.GetBody().GetOwner()) > 0 {
return nil, status.Error(codes.InvalidArgument, "specify the owner and container at the same time is not allowed") return nil, status.Error(codes.InvalidArgument, "specify the owner and container at the same time is not allowed")
} }
var vub uint32 var vub uint32
if len(req.Body.GetContainerId()) > 0 { if len(req.GetBody().GetContainerId()) > 0 {
var containerID cid.ID var containerID cid.ID
if err := containerID.Decode(req.Body.GetContainerId()); err != nil { if err := containerID.Decode(req.GetBody().GetContainerId()); err != nil {
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("failed to parse container ID: %s", err.Error())) return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("failed to parse container ID: %s", err.Error()))
} }
var err error var err error

View file

@ -15,12 +15,12 @@ func (s *Server) Doctor(ctx context.Context, req *control.DoctorRequest) (*contr
return nil, status.Error(codes.PermissionDenied, err.Error()) return nil, status.Error(codes.PermissionDenied, err.Error())
} }
if !req.Body.RemoveDuplicates { if !req.GetBody().GetRemoveDuplicates() {
return nil, status.Error(codes.InvalidArgument, "operation not specified") return nil, status.Error(codes.InvalidArgument, "operation not specified")
} }
var prm engine.RemoveDuplicatesPrm var prm engine.RemoveDuplicatesPrm
prm.Concurrency = int(req.Body.Concurrency) prm.Concurrency = int(req.GetBody().GetConcurrency())
err = s.s.RemoveDuplicates(ctx, prm) err = s.s.RemoveDuplicates(ctx, prm)
if err != nil { if err != nil {

View file

@ -36,8 +36,8 @@ func (s *Server) SetShardMode(_ context.Context, req *control.SetShardModeReques
return nil, status.Error(codes.Internal, fmt.Sprintf("unknown shard mode: %s", requestedMode)) return nil, status.Error(codes.Internal, fmt.Sprintf("unknown shard mode: %s", requestedMode))
} }
for _, shardID := range s.getShardIDList(req.Body.GetShard_ID()) { for _, shardID := range s.getShardIDList(req.GetBody().GetShard_ID()) {
err = s.s.SetShardMode(shardID, m, req.Body.GetResetErrorCounter()) err = s.s.SetShardMode(shardID, m, req.GetBody().GetResetErrorCounter())
if err != nil { if err != nil {
return nil, status.Error(codes.Internal, err.Error()) return nil, status.Error(codes.Internal, err.Error())
} }

View file

@ -369,13 +369,14 @@ func (s *Service) GetNodeByPath(ctx context.Context, req *GetNodeByPathRequest)
x.ParentId = parent x.ParentId = parent
x.NodeId = node x.NodeId = node
x.Timestamp = m.Time x.Timestamp = m.Time
if b.AllAttributes { if b.GetAllAttributes() {
x.Meta = metaToProto(m.Items) x.Meta = metaToProto(m.Items)
} else { } else {
var metaValue []*KeyValue
for _, kv := range m.Items { for _, kv := range m.Items {
for _, attr := range b.GetAttributes() { for _, attr := range b.GetAttributes() {
if kv.Key == attr { if kv.Key == attr {
x.Meta = append(x.Meta, &KeyValue{ metaValue = append(metaValue, &KeyValue{
Key: kv.Key, Key: kv.Key,
Value: kv.Value, Value: kv.Value,
}) })
@ -383,6 +384,7 @@ func (s *Service) GetNodeByPath(ctx context.Context, req *GetNodeByPathRequest)
} }
} }
} }
x.Meta = metaValue
} }
info = append(info, &x) info = append(info, &x)
} }
@ -670,8 +672,8 @@ func protoToMeta(arr []*KeyValue) []pilorama.KeyValue {
meta := make([]pilorama.KeyValue, len(arr)) meta := make([]pilorama.KeyValue, len(arr))
for i, kv := range arr { for i, kv := range arr {
if kv != nil { if kv != nil {
meta[i].Key = kv.Key meta[i].Key = kv.GetKey()
meta[i].Value = kv.Value meta[i].Value = kv.GetValue()
} }
} }
return meta return meta

View file

@ -243,10 +243,10 @@ func (s *Service) startStream(ctx context.Context, cid cid.ID, treeID string,
for ; err == nil; res, err = c.Recv() { for ; err == nil; res, err = c.Recv() {
lm := res.GetBody().GetOperation() lm := res.GetBody().GetOperation()
m := &pilorama.Move{ m := &pilorama.Move{
Parent: lm.ParentId, Parent: lm.GetParentId(),
Child: lm.ChildId, Child: lm.GetChildId(),
} }
if err := m.Meta.FromBytes(lm.Meta); err != nil { if err := m.Meta.FromBytes(lm.GetMeta()); err != nil {
return err return err
} }
opsCh <- m opsCh <- m