diff --git a/core/src/main/java/io/grpc/internal/ServerCallImpl.java b/core/src/main/java/io/grpc/internal/ServerCallImpl.java index 8ab5564b28..6d98acb565 100644 --- a/core/src/main/java/io/grpc/internal/ServerCallImpl.java +++ b/core/src/main/java/io/grpc/internal/ServerCallImpl.java @@ -87,7 +87,7 @@ final class ServerCallImpl extends ServerCall { String encoding = inboundHeaders.get(MESSAGE_ENCODING_KEY); Decompressor decompressor = decompressorRegistry.lookupDecompressor(encoding); if (decompressor == null) { - throw Status.INTERNAL + throw Status.UNIMPLEMENTED .withDescription(String.format("Can't find decompressor for %s", encoding)) .asRuntimeException(); } @@ -233,7 +233,7 @@ final class ServerCallImpl extends ServerCall { } // Special case for unary calls. if (messageReceived && call.method.getType() == MethodType.UNARY) { - call.stream.close(Status.INVALID_ARGUMENT.withDescription( + call.stream.close(Status.INTERNAL.withDescription( "More than one request messages for unary call or server streaming call"), new Metadata()); return; diff --git a/core/src/test/java/io/grpc/internal/ServerCallImplTest.java b/core/src/test/java/io/grpc/internal/ServerCallImplTest.java index e7d4cd91d1..62725cfcbf 100644 --- a/core/src/test/java/io/grpc/internal/ServerCallImplTest.java +++ b/core/src/test/java/io/grpc/internal/ServerCallImplTest.java @@ -276,7 +276,7 @@ public class ServerCallImplTest { verify(callListener).onMessage(1234L); verify(stream).close(statusCaptor.capture(), Mockito.isA(Metadata.class)); - assertEquals(Status.Code.INVALID_ARGUMENT, statusCaptor.getValue().getCode()); + assertEquals(Status.Code.INTERNAL, statusCaptor.getValue().getCode()); } @Test diff --git a/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java b/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java index 5ad401cdde..57b245a583 100644 --- a/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java +++ b/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java @@ -89,7 +89,7 @@ public class ProtoUtils { try { return new ByteArrayInputStream(printer.print(value).getBytes(charset)); } catch (InvalidProtocolBufferException e) { - throw Status.INVALID_ARGUMENT + throw Status.INTERNAL .withCause(e) .withDescription("Unable to print json proto") .asRuntimeException(); diff --git a/stub/src/main/java/io/grpc/stub/ServerCalls.java b/stub/src/main/java/io/grpc/stub/ServerCalls.java index 76f51e97c1..449a2df083 100644 --- a/stub/src/main/java/io/grpc/stub/ServerCalls.java +++ b/stub/src/main/java/io/grpc/stub/ServerCalls.java @@ -156,7 +156,7 @@ public class ServerCalls { onReady(); } } else { - call.close(Status.INVALID_ARGUMENT.withDescription("Half-closed without a request"), + call.close(Status.INTERNAL.withDescription("Half-closed without a request"), new Metadata()); } } diff --git a/stub/src/test/java/io/grpc/stub/ClientCallsTest.java b/stub/src/test/java/io/grpc/stub/ClientCallsTest.java index 91382f30a9..d21bb946e3 100644 --- a/stub/src/test/java/io/grpc/stub/ClientCallsTest.java +++ b/stub/src/test/java/io/grpc/stub/ClientCallsTest.java @@ -84,13 +84,13 @@ public class ClientCallsTest { ArgumentCaptor> listenerCaptor = ArgumentCaptor.forClass(null); verify(call).start(listenerCaptor.capture(), any(Metadata.class)); ClientCall.Listener listener = listenerCaptor.getValue(); - listener.onClose(Status.INVALID_ARGUMENT, new Metadata()); + listener.onClose(Status.INTERNAL, new Metadata()); try { future.get(); fail("Should fail"); } catch (ExecutionException e) { Status status = Status.fromThrowable(e.getCause()); - assertEquals(Status.INVALID_ARGUMENT, status); + assertEquals(Status.INTERNAL, status); } } diff --git a/testing/src/main/java/io/grpc/internal/testing/AbstractTransportTest.java b/testing/src/main/java/io/grpc/internal/testing/AbstractTransportTest.java index 64c90df274..302dda1636 100644 --- a/testing/src/main/java/io/grpc/internal/testing/AbstractTransportTest.java +++ b/testing/src/main/java/io/grpc/internal/testing/AbstractTransportTest.java @@ -556,7 +556,7 @@ public abstract class AbstractTransportTest { ServerStreamListener mockServerStreamListener = serverStreamCreation.listener; Status status = - Status.INVALID_ARGUMENT.withDescription("I'm not listening").withCause(new Exception()); + Status.INTERNAL.withDescription("I'm not listening").withCause(new Exception()); serverStream.close(status, new Metadata()); verify(mockServerStreamListener, timeout(TIMEOUT_MS)).closed(statusCaptor.capture()); assertCodeEquals(Status.OK, statusCaptor.getValue());