Skip to content

ext_proc : If ProcessingResponse is empty, taking it as no-mutation for the request #42163

@yanjunxiang-google

Description

@yanjunxiang-google

Title: ext_proc : If ProcessingResponse is empty, taking it as no-mutation for the request and ok response

Description:
Currently, Envoy ext_proc API is asking the ext_proc server to set oneof the field in the ProcessingResponse:

.

However, today some ext_proc users are not following the API and sending empty ProcessingResponse if they don't want to mutate the requests. In this case, Envoy take it as Spurious response:

processing_status = absl::FailedPreconditionError("unhandled message");
. And the client request is subjected to fail-open or fail-close processing based and failure_mode_allow filter configuration. Some ext_proc users want an empty ProcessingResponse always end up as fail-open behavior, i.e, the original request is forwarded to the backend.

The proposal is that if server sends an empty ProcessingResponse, just taking it as no mutation, and Envoy take the response status as Ok().

To achieve this, we also need to remove option (validate.required) = true; from the ProcessingResponse API:

option (validate.required) = true;

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions