Skip to content

Run conformance tests with HTTP/3#151

Open
anuraaga wants to merge 2 commits intoconnectrpc:mainfrom
anuraaga:http3-test
Open

Run conformance tests with HTTP/3#151
anuraaga wants to merge 2 commits intoconnectrpc:mainfrom
anuraaga:http3-test

Conversation

@anuraaga
Copy link
Collaborator

@anuraaga anuraaga commented Mar 3, 2026

Nothing special connectrpc-wise for supporting HTTP/3 but figured it's worth keeping tabs on our feature set

Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
@anuraaga anuraaga requested a review from a team March 3, 2026 07:52
async def start():
# Currently explicit env not accepted but it's safe to set it here.
os.environ["READ_MAX_BYTES"] = str(request.message_receive_limit)
async with PyvoyServer(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically switching to programmatic is a workaround for an issue that pyvoy only prints a single port even if there are several (for HTTP/3, when setting port=0, the TLS and QUIC port end up separate due to Envoy's behavior).

But I figured it cleans things up anyways, it's still a subprocess, just not subprocess of subprocess.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that something you'd want to fix upstream in pyvoy?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup intend to, though not to revert this back, I think programmatic works well here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, looks reasonable to me.

@anuraaga anuraaga marked this pull request as draft March 3, 2026 07:59
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
@anuraaga anuraaga marked this pull request as ready for review March 3, 2026 14:40
async def start():
# Currently explicit env not accepted but it's safe to set it here.
os.environ["READ_MAX_BYTES"] = str(request.message_receive_limit)
async with PyvoyServer(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that something you'd want to fix upstream in pyvoy?


async def start():
# Currently explicit env not accepted but it's safe to set it here.
os.environ["READ_MAX_BYTES"] = str(request.message_receive_limit)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just so we pipe through the environment that was already going to the subprocess?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. While I thought it was a rare use case, I will add extra_env or something to PyvoyServer to simplify this one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants