conjure-java-runtime icon indicating copy to clipboard operation
conjure-java-runtime copied to clipboard

Http2 calls against go server failing

Open a-k-g opened this issue 6 years ago • 2 comments

What happened?

We use a conjure client to talk to a Go server. This call was working fine with Java 8. On upgrading to Java 11 on client side the call started failing with the following error:

INFO com.palantir.conjure.java.okhttp.RemotingOkHttpCall - Retrying call after failure
    okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
        at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.java:156)
        at okhttp3.internal.http2.Http2Codec.readResponseHeaders(Http2Codec.java:137)
        at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:101)

It was suggested that this could be because of the server advertising Http2 compatibility and then conjure-java-runtime tries to use it when on Java11+. Disabling http2 on the server side fixed the issue.

What did you want to happen?

Http2 connections against Go servers should just work.

a-k-g avatar Jun 11 '19 16:06 a-k-g

Are gcm ciphers enabled in your configuration?

carterkozak avatar Jun 11 '19 16:06 carterkozak

We don't explicitly enable them. We use the default, which suggests enableGcmCipherSuites will be set to false.

a-k-g avatar Jun 11 '19 16:06 a-k-g