Skip to content

Commit 8e07b9b

Browse files
committed
move marker cause
1 parent 9deef11 commit 8e07b9b

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

core/src/main/java/io/grpc/internal/MessageDeframer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,6 @@ private void verifySize() {
521521
if (count > maxMessageSize) {
522522
throw Status.RESOURCE_EXHAUSTED
523523
.withDescription("Decompressed gRPC message exceeds maximum size " + maxMessageSize)
524-
.withCause(new CloseWithHeadersMarker())
525524
.asRuntimeException();
526525
}
527526
}

core/src/main/java/io/grpc/internal/ServerCallImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,12 @@ private void handleInternalError(Throwable internalError) {
279279
serverCallTracer.reportCallEnded(false); // error so always false
280280
}
281281

282+
private void handleParseError(StatusRuntimeException parseError) {
283+
log.log(Level.WARNING, "Cancelling the stream because of parse error", parseError);
284+
stream.cancel(parseError.getStatus().withCause(new CloseWithHeadersMarker()));
285+
serverCallTracer.reportCallEnded(false); // error so always false
286+
}
287+
282288
/**
283289
* All of these callbacks are assumed to called on an application thread, and the caller is
284290
* responsible for handling thrown exceptions.
@@ -337,7 +343,7 @@ private void messagesAvailableInternal(final MessageProducer producer) {
337343
GrpcUtil.closeQuietly(message);
338344
GrpcUtil.closeQuietly(producer);
339345
call.cancelled = true;
340-
call.handleInternalError(e);
346+
call.handleParseError(e);
341347
return;
342348
}
343349
message.close();

0 commit comments

Comments
 (0)