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 apollo request context error in some cases #4188

Merged
merged 2 commits into from
Mar 26, 2024

Conversation

rochdev
Copy link
Member

@rochdev rochdev commented Mar 26, 2024

What does this PR do?

Fix apollo request context error in some cases. I also refactored the integration to not store the requestContext on the plugin and instead rely on the context on the store, and made the end handler generic.

Motivation

In some cases, the executor can run in a way that doesn't seem to always go through the instrumentation. This makes requestContext unavailable to child handlers which resulted in errors. There might be an underlying problem that causes the request instrumentation to never run in which case that problem would still exist, but at least with this PR it will no longer crash.

Additional Notes

No test because I don't know how to reproduce this.

Copy link

github-actions bot commented Mar 26, 2024

Overall package size

Self size: 6.24 MB
Deduped: 61.19 MB
No deduping: 61.94 MB

Dependency sizes

name version self size total size
@datadog/native-iast-taint-tracking 1.7.0 16.71 MB 16.72 MB
@datadog/native-appsec 7.1.0 14.37 MB 14.38 MB
@datadog/pprof 5.1.0 8.83 MB 9.68 MB
protobufjs 7.2.5 2.77 MB 6.56 MB
@datadog/native-iast-rewriter 2.3.0 2.15 MB 2.24 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
import-in-the-middle 1.7.3 67.62 kB 731.01 kB
pprof-format 2.0.7 588.12 kB 588.12 kB
msgpack-lite 0.1.26 201.16 kB 281.59 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.5.4 93.4 kB 123.8 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.1.0 60.23 kB 60.23 kB
ignore 5.2.4 51.22 kB 51.22 kB
int64-buffer 0.1.10 49.18 kB 49.18 kB
shell-quote 1.8.1 44.96 kB 44.96 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
tlhunter-sorted-set 0.1.0 24.94 kB 24.94 kB
limiter 1.1.5 23.17 kB 23.17 kB
dc-polyfill 0.1.4 23.1 kB 23.1 kB
retry 0.13.1 18.85 kB 18.85 kB
node-abort-controller 3.1.1 16.89 kB 16.89 kB
jest-docblock 29.7.0 8.99 kB 12.76 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 kB
module-details-from-path 1.0.3 4.47 kB 4.47 kB

🤖 This report was automatically generated by heaviest-objects-in-the-universe

Copy link

codecov bot commented Mar 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.22%. Comparing base (bc78d8b) to head (efe6a7b).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4188   +/-   ##
=======================================
  Coverage   85.22%   85.22%           
=======================================
  Files         247      247           
  Lines       10948    10948           
  Branches       33       33           
=======================================
  Hits         9330     9330           
  Misses       1618     1618           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rochdev rochdev marked this pull request as ready for review March 26, 2024 00:07
@rochdev rochdev requested review from a team as code owners March 26, 2024 00:07
@rochdev rochdev requested a review from wconti27 March 26, 2024 00:07
@pr-commenter
Copy link

pr-commenter bot commented Mar 26, 2024

Benchmarks

Benchmark execution time: 2024-03-26 00:16:25

Comparing candidate commit efe6a7b in PR branch fix-apollo-request-context-error with baseline commit bc78d8b in branch master.

Found 2 performance improvements and 0 performance regressions! Performance is the same for 258 metrics, 6 unstable metrics.

scenario:plugin-graphql-with-depth-off-18

  • 🟩 max_rss_usage [-147.422MB; -72.298MB] or [-15.544%; -7.623%]

scenario:plugin-graphql-with-depth-on-max-18

  • 🟩 max_rss_usage [-125.942MB; -101.306MB] or [-13.297%; -10.696%]

@rochdev rochdev merged commit 2d71a62 into master Mar 26, 2024
112 checks passed
@rochdev rochdev deleted the fix-apollo-request-context-error branch March 26, 2024 00:40
This was referenced Mar 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants