You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Post es http err:http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error #1443
I need to further investigate. There's an ancient issue at golang/go#25009 which describes this bug but is closed at least after Go 1.12. I've never seen this message after years of running in production.
It looks like this is the source of the error. I'm looking into this in the next release.
It should be a simple fix.
P.S.: Go 1.14 is no longer supported, and 1.15 is on the edge (once 1.17 comes out in August 2021). I think it's a good idea to update anyway—even if it doesn't fix your issue.
We were not running into this issue when using only http, but once we started using https, this issue cropped up for us. This appeared to occur very intermittently, but it was reproducible and occurred when using basic auth or AWS IAM Auth4.
@hexa00 's solution above did indeed work for us, but due to our codebase, we were hesitant to to use a compiler directive to affect all httpClients.
After some research, I believe I have a solution. I believe the piece of info we are looking for is outlined here: https://pkg.go.dev/net/http#pkg-overview. "Programs that must disable HTTP/2 can do so by setting Transport.TLSNextProto (for clients) or Server.TLSNextProto (for servers) to a non-nil, empty map. Alternatively, the following GODEBUG environment variables are currently supported."
Our full solution below appears (thus far) to work for us:
Hello guys,
So basically we need to disable http2 to fix this problem ?
On my side, it's not on a post request but a get request.
Would be great to have a fix on this, thanks guys
Activity
olivere commentedon Dec 4, 2020
I need to further investigate. There's an ancient issue at golang/go#25009 which describes this bug but is closed at least after Go 1.12. I've never seen this message after years of running in production.
GrahamWalters commentedon Dec 14, 2020
I'm also seeing this error, but we're using a GET request
github.com/olivere/elastic/v6 v6.2.16
go version go1.15 linux/amd64
fengyuxx commentedon Dec 15, 2020
Same error in bulk write request. It looks like we are all using aws?
rbUUbr commentedon Dec 17, 2020
@olivere seems like usage of go 1.15 version should help to avoid this problem according to this thread: golang/go#32441
Atply234 commentedon May 6, 2021
Any updates on this ? Im facing the similar issue and also upgrade of go to 1.15 did not help.
juhovuori commentedon Aug 2, 2021
I'm also seeing this regularly on go 1.16.
kahluw2 commentedon Aug 11, 2021
I am seeing this in go 1.14 and 1.15 both. Any updates on this?
olivere commentedon Aug 12, 2021
It looks like this is the source of the error. I'm looking into this in the next release.
It should be a simple fix.
P.S.: Go 1.14 is no longer supported, and 1.15 is on the edge (once 1.17 comes out in August 2021). I think it's a good idea to update anyway—even if it doesn't fix your issue.
Hhhha commentedon Aug 13, 2021
Maybe it's http2. You can set http.Transport.ForceAttemptHTTP2 to false.
olivere commentedon Sep 16, 2021
Anybody can confirm this still happens in the supported Go versions, i.e. Go 1.16 and Go 1.17 (at the time I'm writing this)?
3 remaining items
vladiacob commentedon Sep 19, 2021
@olivere 1.17.1 is the version
vladiacob commentedon Sep 19, 2021
Do you have any idea how we can solve the issue? Is happening really often.
jaakkotuosa commentedon Sep 23, 2021
Happening multiple times a day for me on go 1.17.1 + AWS OpenSearch (Elasticsearch 7.9, connections from ECS, through VPN)
hexa00 commentedon Nov 17, 2021
We experienced this issue on go 1.16 also and worked-around it by building with:
go build -tags nethttpomithttp2ceverus commentedon Nov 29, 2021
I am seeing this in go 1.14.
pgvishnuram commentedon Dec 9, 2021
Yes its observed in aws opensearch and aws elasticsearch.
pgvishnuram commentedon Dec 9, 2021
Issue can be reproduced when you try to write huge data or simultaneous data writes to elastic search
nblizard commentedon Dec 9, 2021
We were not running into this issue when using only
http, but once we started usinghttps, this issue cropped up for us. This appeared to occur very intermittently, but it was reproducible and occurred when using basic auth or AWS IAM Auth4.@hexa00 's solution above did indeed work for us, but due to our codebase, we were hesitant to to use a compiler directive to affect all
httpClients.After some research, I believe I have a solution. I believe the piece of info we are looking for is outlined here: https://pkg.go.dev/net/http#pkg-overview. "Programs that must disable HTTP/2 can do so by setting Transport.TLSNextProto (for clients) or Server.TLSNextProto (for servers) to a non-nil, empty map. Alternatively, the following GODEBUG environment variables are currently supported."
Our full solution below appears (thus far) to work for us:
JoydS commentedon Mar 27, 2023
Hello guys,
So basically we need to disable http2 to fix this problem ?
On my side, it's not on a post request but a get request.
Would be great to have a fix on this, thanks guys