question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Getting GOAWAY error

See original GitHub issue

From @mkamioner on December 28, 2017 9:33

I have been getting the following error a lot after upgrading to 0.15.0

Received a GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to "too_many_pings"

It seems that the grpc module is printing it (it is the only place in my code base where this string exists) and pubsub is the only component using grpc… Anyone else having this problem? What is the impact and how can we stop it?

Thanks! Mo

Environment details

  • OS: Debian 8.10, x86_64 GNU/Linux
  • Node.js version: 6.12.2
  • npm version: 3.10.10
  • @google-cloud/pubsub version: 0.16.1

Steps to reproduce

  1. Unsure, we are subscribing with multiple instances to a very active subscription

Copied from original issue: googleapis/nodejs-pubsub#27

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:7
  • Comments:17 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
rdlowreycommented, Mar 22, 2018

Apologies for reviving but I’m seeing this as well. I’m seeing it in my local development environment running against the cloud pubsub emulator. It looks like it happens at one hour of idle time with the the same topic publishers kept alive in-memory whether or not they’ve been actively used and a single long-lived topic subscription.

Will continue providing updates as I’d really like to see this code live in a GKE production environment in the next couple of weeks. Thanks in advance for your help.

Environment

  • OS: Docker (FROM node:9)
  • Node.js: v9.8.0
  • npm: 5.7.1
  • google-cloud/pubsub: 0.16.5
  • grpc: 1.9.1

Trace

E0320 05:05:00.368889271      46 chttp2_transport.cc:1105]   Received a GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to "too_many_pings"
(node:46) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 channel.error listeners added. Use emitter.setMaxListeners() to increase limit
(node:46) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 channel.ready listeners added. Use emitter.setMaxListeners() to increase limit
events.js:165
      throw er; // Unhandled 'error' event
      ^

Error: Cancelled
    at StreamProxy.onConnectionStatus (/app/node_modules/@google-cloud/pubsub/src/connection-pool.js:267:21)
    at StreamProxy.emit (events.js:180:13)
    at ClientDuplexStream.<anonymous> (/app/node_modules/google-gax/lib/streaming.js:130:17)
    at ClientDuplexStream.emit (events.js:180:13)
    at ClientDuplexStream._emitStatusIfDone (/app/node_modules/grpc/src/client.js:273:10)
    at ClientDuplexStream._readsDone (/app/node_modules/grpc/src/client.js:236:8)
    at readCallback (/app/node_modules/grpc/src/client.js:296:12)
Emitted 'error' event at:
    at ConnectionPool.<anonymous> (/app/node_modules/@google-cloud/pubsub/src/subscription.js:1039:10)
    at ConnectionPool.emit (events.js:180:13)
    at StreamProxy.onConnectionStatus (/app/node_modules/@google-cloud/pubsub/src/connection-pool.js:269:14)
    at StreamProxy.emit (events.js:180:13)
    [... lines matching original stack trace ...]
    at readCallback (/app/node_modules/grpc/src/client.js:296:12)

UPDATE 1

I did an rm -rf node_modules && npm cache clean --force && npm install just to ensure all grpc deps were present … will update if/when problem reoccurs.

UPDATE 2

Since ensuring all necessary deps were present with the npm operations above I’ve encountered no problems with the relevant code executing continuously over the last 24 hours or so. ~It seems like guaranteeing necessary dependencies solves the issue and it may not be a “grpc problem,” though better internal validation and error messages from the grpc lib would help users encountering this problem actually diagnose the real underlying issue of missing deps (rather than assuming it’s a grpc bug).~

I’ll update if I encounter the problem again with all deps installed …

UPDATE 3

I still receive sporadic errors of the following form when I hold open a single pubsub topic subscription for several hours:

E0322 09:47:18.099168287      30 chttp2_transport.cc:1105]   Received a GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to "too_many_pings"

This feels like an error in the pubsub component because I doubt it should be pinging frequently enough to receive ENHANCE YOUR CALM when there’s only a single active subscription and four or five long-lived topic publishers, but … ¯\_(ツ)_/¯

^ FYI @murgatroid99

1reaction
mkamionercommented, Jan 1, 2018

Any update on this?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Getting GOAWAY in callback error of call · Issue #717 - GitHub
The problem there is that there is a race: if the server sends a GOAWAY because the max connection age is reached, the...
Read more >
Update to gRPC logs GOAWAY with error code ... - GitLab
Why am I receiving a GOAWAY with error code ENHANCE_YOUR_CALM? A server sends a GOAWAY with ENHANCE_YOUR_CALM if the client sends too many ......
Read more >
How to handle HTTP/2 GOAWAY with HttpClient?
I tried to reproduce this problem with a local nginx server with the default HTTP/2 configuration: server { listen 443 http2 ssl; ...
Read more >
Received a GOAWAY with error code ... - Ray
Received a GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to "too_many_pings" ... Any idea what could be causing this error?
Read more >
HTTP2 : GOAWAY sent with Protocol Error and Frame Size Error
1)GOAWAY with PROTOCOL ERROR : The content length header value [55294] does not agree with the size of the data received [55295] Where,...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found