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

fix: set grpc keepalive time|outs by default #1814

Merged
merged 2 commits into from
Sep 5, 2023

Conversation

feywind
Copy link
Collaborator

@feywind feywind commented Sep 5, 2023

This turns on grpc keepalives by default. We think this may fix quite a few (sometimes silent) timeout issues, because there's an issue deeper down in the stack that can result in the client library not realizing that its connection has been lost.

@feywind feywind requested review from a team as code owners September 5, 2023 20:43
@product-auto-label product-auto-label bot added size: s Pull request size is small. api: pubsub Issues related to the googleapis/nodejs-pubsub API. labels Sep 5, 2023
@feywind feywind added the owlbot:run Add this label to trigger the Owlbot post processor. label Sep 5, 2023
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Sep 5, 2023
@feywind feywind added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Sep 5, 2023
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Sep 5, 2023
@feywind feywind added the automerge Merge the pull request once unit tests and other checks pass. label Sep 5, 2023
src/pubsub.ts Show resolved Hide resolved
@feywind feywind removed the automerge Merge the pull request once unit tests and other checks pass. label Sep 5, 2023
@feywind feywind merged commit 13d89a2 into googleapis:main Sep 5, 2023
15 checks passed
@feywind feywind deleted the default-keepalives branch September 5, 2023 21:52
feywind added a commit to feywind/nodejs-pubsub that referenced this pull request Sep 8, 2023
feywind added a commit that referenced this pull request Aug 24, 2024
…1833)

* feat: use the propagation inject framework for OpenTelemetry publishes

* feat: add propagation extraction to subscriber for OpenTelemetry

* feat: work in progress on adding sub-spans

* add more spans

* wrap subscriber on() handlers to get better receive process spans

* update otel core version for tests

* fix: change some span names for doc updates

* fix: move emitter wrapper out one level, to catch user functions properly

* fix: don't send anything besides what's actually needed during publish

* fix: close the publish span at RPC time, not up front

* fix: delay caching of the trace provider so the user has a chance to make one

* build: bring OTel versions back to compatible with Node 12

* fix: clean up a few more namespace pollution issues in OTel support

* tests: manually end the publish span for tests

* build: update package names for recent version updates

* chore: get versions of OTel that work together and with Node 12

* chore: linter nit

* chore: another linter nit

* chore: OTel sample formatting

* chore: some internal renaming to reflect the function rather than name of telemetry tracing

* fix: more work towards the Promise-first publish flow

* tests: remove unnecessary init line

* fix: add tracing support for updating the topic name in publisher spans

* fix: use the most up to date name for topic, subscription, and iam

* fix: update telemetry spans before publishing, in case the topic name wasn't ready

* chore: calm linter qualms

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix: update drain() not to promisify

* tests: update unit tests for recent promise changes to publish()

* feat: add modAck spans during leasing

* docs: add more code comment docs

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* tests: unit test fixes, also include deadline and initial parameters for modAck

* fix: make sure the subscriber span ends, update sample

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* tests: update unit test for latest changes

* chore: pull promise-based publish out of OTel change

* tests: update otel sample test

* wip: end all telemetry spans when clear() is called

* wip: add more unit tests

* fix: include batch size with each published message span

* chore: fix lint

* fix: separate out the getter and setter classes

* chore: rename span related objects in subscriber

* chore: rename SpanMaker

* docs: improved comments and lint fixes

* docs: more class/comment updating

* fix: missing spans caused by renames; also do more renames

* tests: more renaming issues

* tests: add otel test for FlowControlledPublisher

* tests: add lease manager tests for otel

* tests: add SubscriberSpans unit tests

* fix: simplify logic for HTTP/1.1 REST fallback option (#1809)

* fix: simplify logic for HTTP/1.1 REST fallback option

For the `fallback` parameter, all values considered as `true`
in Boolean context will enable HTTP/1.1 REST fallback,
since the other fallback transport, proto over HTTP, is
removed from `google-gax` v4.

PiperOrigin-RevId: 559812260

Source-Link: googleapis/googleapis@6a6fd29

Source-Link: googleapis/googleapis-gen@56c1665
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTZjMTY2NTdlN2E1OTEyMmIxZGE5NDc3MWE5ZWY0MDk4OWMyODJjMCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* build: update Node.js version and base Debian version (#1793)

* build: update Node.js version and base Debian version

* test: update Python and Node versions in container test YAMLs

Source-Link: googleapis/synthtool@f54a720
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:aeccbef8061fc122542e8f381c4e7b66b32e23dda522e94c68346585dc408f0d

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Megan Potter <57276408+feywind@users.noreply.github.com>

* docs: fix node release schedule link (#1794)

Co-authored-by: Jeffrey Rennie <rennie@google.com>

Source-Link: googleapis/synthtool@1a24315
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:e08f9a3757808cdaf7a377e962308c65c4d7eff12db206d4fae702dd50d43430

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Megan Potter <57276408+feywind@users.noreply.github.com>

* chore: update release-please post-processing for nodejs apiary (#1805)

* chore: update release-please post-processing for nodejs apiary

Source-Link: googleapis/synthtool@59fe44f
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:606f3d9d99a1c7cdfa7158cbb1a75bfeef490655e246a2052f9ee741740d736c

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: Make retry policy back off more aggressively for RPCs that retry RESOURCE_EXHAUSTD (#1806)

* fix: Make retry policy back off more aggressively for RPCs that retry RESOURCE_EXHAUSTD

PiperOrigin-RevId: 557935020

Source-Link: googleapis/googleapis@38e1f31

Source-Link: googleapis/googleapis-gen@5bbe39d
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWJiZTM5ZDM3MjE4YTQyMGIyMzY4YzM3NTQxZGU1ODg3ZGI3ZDZhZiJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: set grpc keepalive time|outs by default (#1814)

* fix: always fill the topic and sub names when creating from a PubSub object (#1816)

* chore(legacy-v3): release 3.7.4 (#1820)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* docs: update copyrights to make header-check happy

* chore: remove left-in console.trace

* feat: update opentelemetry packages to latest

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* samples: mostly whitespace, but updated OTel sample

* feat: updates for the new design doc: batching, events, separate RPC span

* tests: fix / update tests for batch changes

* feat: change ack/nack/modack to be events

* fix: fixes for previous commits

* fix: move span closing to subscriber, upon (n)ack

* docs: update custom gcp attributes

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* docs: update subscriber comments

* tests: add unit tests for shutdown events

* fix: missed commits from previous

* fix: update span attributes for ordering key

Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com>

* fix: update gcp.pubsub to gcp_pubsub

* feat: add back in receive response spans

* docs: fix inadequate comments for deadline

* feat: add ack/nack/modack events in processing

* fix: publisher -> publish scheduler

Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com>

* chore: fix intermediate samples build exclusion

* feat: update otel span names and attributes to latest spec

* chore: remove extraneous import

* feat: add publish start/end events

* docs: comment updates about modack spans

* tests: add a bunch of unit tests for new otel stuff

* fix: subId might be undefined

* fix: revert incorrect attribute change

* docs: clarify some comments

* tests: update the test for the last commit

* fix: change processing span to use ack/nack instead of callback time

* docs: fix copyright ranges on renamed/updated files

* chore: OTel changed how semantic attribute names are specified

* tests: update otel sample tests for latest changes

* samples: update JS otel sample from TS

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* samples: update otel tracing sample with the correct tags and some other cleanup

* samples: split otel samples into listen/publish

* tests: fix resource name for otel

* build: remove defunct typing

* feat: add support for globally enabling (and disabling) otel tracing

* feat: add bidi links between RPC and message spans, and filter by isSampled

* feat: track code.function

* docs: update comment based on CR

* tests: publishSpan might be undefined if tracing isn't enabled

* chore: small merge issue

* fix: update spans for ack/modack to match newest spec

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* samples: add the otel enable flag to new otel samples

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* docs: last minute review, mostly adding private/internal doc tags

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: pubsub Issues related to the googleapis/nodejs-pubsub API. size: s Pull request size is small.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants