-
Notifications
You must be signed in to change notification settings - Fork 19
Description
I'm using client-oauth2
which in turn uses popsicle
. In particular I tend to make requests to a server once or twice every few hours. For a week or so this seemed to work ok, but now I am getting the below error. Googling was unusually unhelpful on this, but I would have thought this would have been handled within node rather than by popsicle (I am using Node.js 12 running on 64bit Amazon Linux 2, elastic beanstalk
).
Any thoughts?
[ERR_HTTP2_GOAWAY_SESSION]: New streams cannot be created after receiving a GOAWAY
at ClientHttp2Session.request (internal/http2/core.js:1610:13)
at /var/app/current/node_modules/popsicle-transport-http/dist/index.js:299:36
at new Promise (<anonymous>)
at execHttp2 (/var/app/current/node_modules/popsicle-transport-http/dist/index.js:291:12)
at /var/app/current/node_modules/popsicle-transport-http/dist/index.js:451:28
at /var/app/current/node_modules/throwback/dist/index.js:26:32
at new Promise (<anonymous>)
at dispatch (/var/app/current/node_modules/throwback/dist/index.js:25:20)
at next (/var/app/current/node_modules/throwback/dist/index.js:33:28)
at /var/app/current/node_modules/popsicle-cookie-jar/dist/index.js:18:32
at next (/var/app/current/node_modules/popsicle-cookie-jar/node_modules/tough-cookie/lib/cookie.js:1220:7)
at /var/app/current/node_modules/popsicle-cookie-jar/node_modules/tough-cookie/lib/cookie.js:1208:5
at MemoryCookieStore.findCookies (/var/app/current/node_modules/popsicle-cookie-jar/node_modules/tough-cookie/lib/memstore.js:113:3)
at CookieJar.getCookies (/var/app/current/node_modules/popsicle-cookie-jar/node_modules/tough-cookie/lib/cookie.js:1189:9)
at CookieJar.getCookieString (/var/app/current/node_modules/popsicle-cookie-jar/node_modules/tough-cookie/lib/cookie.js:1229:19)
at res (/var/app/current/node_modules/popsicle-cookie-jar/dist/index.js:12:17) { code: 'ERR_HTTP2_GOAWAY_SESSION' }
popsicle
is a dependency of client-oauth2
, as shown here - https://github.com/mulesoft/js-client-oauth2/blob/2752e8b3161ed06a6fddb5a6d042ec6a190929b0/package.json#L66.
Not sure how useful it will be, but for refernce I was talking to Xero's api, see - https://developer.xero.com/.
In an attempt to work around this, I am simply going to add one retry when the relevant request fails (not sure how popsicle works under the hood but maybe after the error has been caught the http2 connection will be reset or something...?!).