Skip to content

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
@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
@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