Skip to content

Commit 1055c82

Browse files
committed
Apply backpressure for ext proc calls for response body messages too by overriding ClientCall.requestMessages(int) in ExtProcClientCall. Also introduce null check for extProcClientCallRequestObserver in isReady since it may be called on the call even before start is called that initializes it.
1 parent 61f0c0a commit 1055c82

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,11 +497,20 @@ public boolean isReady() {
497497
return false;
498498
}
499499
if (config.getObservabilityMode()) {
500-
return super.isReady() && extProcClientCallRequestObserver.isReady();
500+
return super.isReady() && extProcClientCallRequestObserver != null
501+
&& extProcClientCallRequestObserver.isReady();
501502
}
502503
return super.isReady();
503504
}
504505

506+
@Override
507+
public void request(int numMessages) {
508+
if (config.getObservabilityMode() && !isReady()) {
509+
return;
510+
}
511+
super.request(numMessages);
512+
}
513+
505514
@Override
506515
public void sendMessage(InputStream message) {
507516
if (extProcStreamCompleted.get()) {

0 commit comments

Comments
 (0)