Skip to content

MCS connection scaling interop tests for Java#12651

Open
kannanjgithub wants to merge 26 commits intogrpc:masterfrom
kannanjgithub:mcs-interop-tests
Open

MCS connection scaling interop tests for Java#12651
kannanjgithub wants to merge 26 commits intogrpc:masterfrom
kannanjgithub:mcs-interop-tests

Conversation

@kannanjgithub
Copy link
Copy Markdown
Contributor

No description provided.

return;
}
if (new String(request.getPayload().getBody().toByteArray(), UTF_8)
.equals(MCS_CS.description())) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please no. There's two regular approaches we use for tweaking the server's behavior:

  1. A field in the request proto (e.g., fill_username)
  2. Header metadata. I don't think we actually use this approach in the vanilla interop today, but we do do it for psm interop

(fill_username and the like are because of mistakes in the past where grpc-java verified the result message exactly. That means you can't add new fields to have them be ignored. We did want to verify the result was what we expected, but it would have probably been better to just verify the payload. But the behavior hasn't been changed, so we still need these knobs that enable result fields.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added new fields in request and response for setting the client socket address.

@kannanjgithub
Copy link
Copy Markdown
Contributor Author

I realized I forgot to push the commits addressing review comments last week.

.asRuntimeException());
return;
}
if (whetherSendClientSocketAddressInResponse(request)) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

So we just ignore most of the request? It looks like this should go through toChunkQueue() to actually send the response.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The other parts of the request are about chunking behavior which doesn't apply for this test. I don't need to use toChunkQueue which is used to keep track of what response sizes to send in successive chunks, nor dispatcher.enqueue which handles scheduled sending of the chunks.

@kannanjgithub kannanjgithub requested a review from ejona86 March 25, 2026 18:16
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