Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INTERNAL: Internal error Rst Stream above okhttp 1.47.1 version #2399

Open
polingsky opened this issue Mar 29, 2024 · 2 comments
Open

INTERNAL: Internal error Rst Stream above okhttp 1.47.1 version #2399

polingsky opened this issue Mar 29, 2024 · 2 comments
Labels
question Further information is requested

Comments

@polingsky
Copy link

What version of gRPC-Java are you using?
1.47.1

What is your environment?
for Android, grpc verison v1.47.1
Tested with Android 6 to Android 14

app client ManagedChannel = OkHttpChannelBuilder.forAddress(TLS_HOST, TLS_PORT)
.overrideAuthority(TLS_HOST)
.sslSocketFactory(socketFactory)
.maxInboundMetadataSize(Integer.MAX_VALUE)
.maxInboundMessageSize(20 * 1024 * 1024)
.idleTimeout(2, TimeUnit.MINUTES)
.build();

Server side
.net 2.61.0

What did you expect to see?
I expect to be able to reuse the same ManagedChannel for each grpc call.
But it will somtimes fail and trigger INTERNAL: Internal error Rst Stream above okhttp 1.46.1 version (1.47.1 to 1.62.2).
This error not happend below okhttp 1.46.1 version (1.35.0 to 1.46.1)

What did you see instead?
INTERNAL: Internal error Rst Stream

On Android client side
INTERNAL: Internal error
Rst Stream|Status{code=INTERNAL, description=Internal error
Rst Stream, cause=null}

On .net server side
No error

@ejona86
Copy link
Member

ejona86 commented Mar 29, 2024

grpc/grpc-java#11051 is the companion bug for grpc-java. There's not much to go on for what could be causing this. I looked through the changes in grpc-java and nothing jumped out. What are the various things that could trigger a RST_STREAM(INTERNAL) in grpc-dotnet? Or is there logging that could be enabled?

@JamesNK
Copy link
Member

JamesNK commented Mar 30, 2024

You can enable server-side logging. Instructions here: https://learn.microsoft.com/en-us/aspnet/core/grpc/diagnostics?view=aspnetcore-8.0#grpc-services-logging

Getting full information about the HTTP error likely requires capturing most logs, e.g. trace level for Grpc and Microsoft logs (HTTP/2 runs in the underlying Microsoft Kestrel server).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants