[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategy

Đang mở
#996 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

@DivyanshGarg380 đang làm issue này rồi.

Từ ngày 31/10/2026.

  • #997 của @DivyanshGarg380 — đang mở

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
22/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
go, grpc
Lĩnh vực
api, backend

Hướng nghiên cứu

Start in service/submitqueue/gateway/server/mapper/land.go, where ProtoToLandRequest and resolveLandStrategy return a plain fmt.Errorf for an unknown strategy. Then check gatewayStatusError to see how it classifies errors via controller.IsInvalidRequest. Done means the mapper error is wrapped as a user error so status.Code(err) returns InvalidArgument. Pull request #997 is already open against this, so check it before starting.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Description

SubmitQueueGateway.Land called with an unrecognized Strategy enum value (for example one sent by a newer client) is answered with gRPC Unknown instead of InvalidArgument. mapper.ProtoToLandRequest returns a plain fmt.Errorf, and gatewayStatusError passes unclassified errors through unchanged, so gRPC reports Unknown. Every other invalid-input error from Land is classified as a user error and surfaces as InvalidArgument.

Steps to Reproduce

  1. Start the local stack (make local-submitqueue-start).
  2. Call SubmitQueueGateway.Land with a configured queue, a valid change URI, and Strategy: mergestrategypb.Strategy(9999).
  3. Inspect status.Code(err).

Expected Behavior

codes.InvalidArgument, consistent with the gateway's other invalid-input errors.

Actual Behavior

codes.Unknown, with the message failed to map land strategy: unknown land strategy in proto message: 9999.

Environment

  • Go version: go1.27.1
  • OS: Windows
  • Bazel version: 8.4.1

Additional Context

resolveLandStrategy and ProtoToLandRequest are in service/submitqueue/gateway/server/mapper/land.go. errs.NewUserError already matches controller.IsInvalidRequest in gatewayStatusError, so wrapping the mapper error is enough. I have a fix ready.

Ngôn ngữ chính
Go
Star
247
Fork
16
Merge trung bình
2 ngày 1 giờ
Pull request đã merge (30 ngày)
125

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của uber/submitqueue

Tất cả issue của uber/submitqueue

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.