Skip to content

Commit 8b53d76

Browse files
authored
fix: Use correct error codes (#514)
This is uses correct error codes for gRPC in most places. We use Internal and this is the intedded error code for server errors. This is also used by the grpc server as well but it doesn't mean it is only for the gRPC code. See documentation: https://pkg.go.dev/google.golang.org/grpc/codes#Code https://cloud.google.com/apis/design/errors The right codes for internal error are `Unknown` (The default one) and `Internal`
1 parent da36396 commit 8b53d76

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

internal/servers/destinations.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ func (s *DestinationServer) Write2(msg pb.Destination_Write2Server) error {
7070
if err == io.EOF {
7171
return msg.SendAndClose(&pb.Write2_Response{})
7272
}
73-
return fmt.Errorf("write: failed to receive msg: %w", err)
73+
return status.Errorf(codes.Internal, "failed to receive msg: %v", err)
7474
}
7575
var tables schema.Tables
7676
if err := json.Unmarshal(r.Tables, &tables); err != nil {
77-
return fmt.Errorf("write: failed to unmarshal tables: %w", err)
77+
return status.Errorf(codes.InvalidArgument, "failed to unmarshal tables: %v", err)
7878
}
7979
sourceName := r.Source
8080
syncTime := r.Timestamp.AsTime()
@@ -90,15 +90,15 @@ func (s *DestinationServer) Write2(msg pb.Destination_Write2Server) error {
9090
if err == io.EOF {
9191
close(resources)
9292
if err := eg.Wait(); err != nil {
93-
return fmt.Errorf("got EOF. failed to wait for plugin: %w", err)
93+
return status.Errorf(codes.Internal, "failed to wait for plugin: %v", err)
9494
}
9595
return msg.SendAndClose(&pb.Write2_Response{})
9696
}
9797
close(resources)
9898
if err := eg.Wait(); err != nil {
9999
s.Logger.Error().Err(err).Msg("got error. failed to wait for plugin")
100100
}
101-
return fmt.Errorf("failed to receive msg: %w", err)
101+
return status.Errorf(codes.Internal, "failed to receive msg: %v", err)
102102
}
103103
var resource schema.DestinationResource
104104
if err := json.Unmarshal(r.Resource, &resource); err != nil {

internal/servers/source.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func (s *SourceServer) Sync2(req *pb.Sync2_Request, stream pb.Source_Sync2Server
114114
destResource := resource.ToDestinationResource()
115115
b, err := json.Marshal(destResource)
116116
if err != nil {
117-
return status.Errorf(codes.InvalidArgument, "failed to marshal resource: %v", err)
117+
return status.Errorf(codes.Internal, "failed to marshal resource: %v", err)
118118
}
119119

120120
msg := &pb.Sync2_Response{
@@ -128,7 +128,7 @@ func (s *SourceServer) Sync2(req *pb.Sync2_Request, stream pb.Source_Sync2Server
128128
continue
129129
}
130130
if err := stream.Send(msg); err != nil {
131-
return fmt.Errorf("failed to send resource: %v", err)
131+
return status.Errorf(codes.Internal, "failed to send resource: %v", err)
132132
}
133133
}
134134

0 commit comments

Comments
 (0)