envoyproxy / envoyproxy/envoy

ext_proc: HTTP/1.1 upgrade request hangs with FULL_DUPLEX_STREAMED mode

Open
#47,161 1 comment 0 reactions 1 assignee Claimed by @tyxia View on GitHub
area/ext_proc bug
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

*Title*: *ext_proc: HTTP/1.1 upgrade request hangs with FULL_DUPLEX_STREAMED mode*

*Description*:

HTTP/1.1 upgrade request, client sends the headers first, then wait for the server response. After the server response received, client start to send the body.

FULL_DUPLEX_STREAMED mode currently is holding the headers, either in the ext_proc server or by Envoy, and waiting for body arrives before sending the headers to the backend server. This leads to dead-lock to handle such kind of HTTP requests.

This issue is also observed with BUFFERED mode, which buffers header and wait for body arrives before shipping the headers to the backend. This issue is tracked separately by: https://github.com/envoyproxy/envoy/issues/47081

[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.