Skip to content

Commit 967a871

Browse files
committed
Some bug fixes for traliers-only response It should be using processing mode for response headers rather than response trailers in this case.
1 parent b854ade commit 967a871

2 files changed

Lines changed: 223 additions & 620 deletions

File tree

xds/src/main/java/io/grpc/xds/ExternalProcessorClientInterceptor.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,12 +1372,18 @@ private void triggerCloseHandshake() {
13721372
return;
13731373
}
13741374

1375+
boolean sendResponseHeaders =
1376+
dataPlaneClientCall.currentProcessingMode.getResponseHeaderMode()
1377+
== ProcessingMode.HeaderSendMode.SEND
1378+
|| dataPlaneClientCall.currentProcessingMode.getResponseHeaderMode()
1379+
== ProcessingMode.HeaderSendMode.DEFAULT;
1380+
13751381
boolean sendResponseTrailers =
13761382
dataPlaneClientCall.currentProcessingMode.getResponseTrailerMode()
13771383
== ProcessingMode.HeaderSendMode.SEND;
13781384

13791385
if (trailersOnly.get()) {
1380-
if (sendResponseTrailers) {
1386+
if (sendResponseHeaders) {
13811387
dataPlaneClientCall.sendToExtProc(ProcessingRequest.newBuilder()
13821388
.setResponseHeaders(HttpHeaders.newBuilder()
13831389
.setHeaders(
@@ -1389,12 +1395,11 @@ private void triggerCloseHandshake() {
13891395
.build());
13901396
} else {
13911397
proceedWithClose();
1392-
dataPlaneClientCall.closeExtProcStream();
1398+
if (!dataPlaneClientCall.config.getObservabilityMode()) {
1399+
dataPlaneClientCall.closeExtProcStream();
1400+
}
13931401
}
1394-
return;
1395-
}
1396-
1397-
if (sendResponseTrailers) {
1402+
} else if (sendResponseTrailers) {
13981403
dataPlaneClientCall.isProcessingTrailers.set(true);
13991404
dataPlaneClientCall.sendToExtProc(ProcessingRequest.newBuilder()
14001405
.setResponseTrailers(HttpTrailers.newBuilder()
@@ -1406,7 +1411,9 @@ private void triggerCloseHandshake() {
14061411
.build());
14071412
} else {
14081413
proceedWithClose();
1409-
dataPlaneClientCall.closeExtProcStream();
1414+
if (!dataPlaneClientCall.config.getObservabilityMode()) {
1415+
dataPlaneClientCall.closeExtProcStream();
1416+
}
14101417
}
14111418
}
14121419

0 commit comments

Comments
 (0)