Skip to content

Conversation

@rochdev
Copy link
Member

@rochdev rochdev commented Oct 17, 2025

What does this PR do?

Fix race condition in kinesis tests by swallowing irrelevant errors.

Motivation

Errors from the underlying connection to Kinesis are irrelevant for any tracing test, and they are likely since the stream is destroyed in the afterEach hook which could happen before the connection is closed once the test is done.

@github-actions
Copy link

Overall package size

Self size: 12.8 MB
Deduped: 115.41 MB
No deduping: 117.62 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.2.1 | 20.64 MB | 20.65 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.11.1 | 9.96 MB | 10.34 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.73 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @opentelemetry/resources | 1.9.1 | 306.54 kB | 1.74 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api-logs | 0.205.0 | 201.51 kB | 1.42 MB | | @opentelemetry/api | 1.9.0 | 1.22 MB | 1.22 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.15.0 | 127.66 kB | 856.24 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | @datadog/openfeature-node-server | 0.1.0-preview.10 | 95.11 kB | 401.46 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | source-map | 0.7.6 | 185.63 kB | 185.63 kB | | pprof-format | 2.2.1 | 163.06 kB | 163.06 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |

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

@codecov
Copy link

codecov bot commented Oct 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.12%. Comparing base (d69f98a) to head (359c36d).
⚠️ Report is 33 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6691   +/-   ##
=======================================
  Coverage   84.12%   84.12%           
=======================================
  Files         505      505           
  Lines       21027    21027           
=======================================
  Hits        17689    17689           
  Misses       3338     3338           

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@rochdev rochdev marked this pull request as ready for review October 17, 2025 17:47
@rochdev rochdev requested review from a team as code owners October 17, 2025 17:47
@pr-commenter
Copy link

pr-commenter bot commented Oct 17, 2025

Benchmarks

Benchmark execution time: 2025-10-17 17:48:54

Comparing candidate commit 359c36d in PR branch fix-kinesis-test-race with baseline commit d69f98a in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1600 metrics, 70 unstable metrics.

Copy link
Collaborator

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A negative side effect of this is if there is an error that it now has to wait for the timeout to resolve, even if it does indeed prevent the traces from producing.

I think it would be good to find an alternative fix.

@rochdev
Copy link
Member Author

rochdev commented Oct 23, 2025

A negative side effect of this is if there is an error that it now has to wait for the timeout to resolve, even if it does indeed prevent the traces from producing.

I think it would be good to find an alternative fix.

This is how it currently works in every single plugin test in the repo. Happy to revisit but it's out of scope. This only makes things consistent with how it works elsewhere to prevent the issue described in the description.

Also worth noting that the side-effect you're describing doesn't really exist in a real world scenario. If the error is before the instrumentation, it would simply fail and so we wouldn't merge the code. If it fails after then we don't care because we'll get the traces, hence why we can just swallow it. And if it's flaky it's pretty much always caused by the underlying service, which again will still keep the traces.

@rochdev
Copy link
Member Author

rochdev commented Oct 24, 2025

@BridgeAR Any other concerns? This is a quick fix that resolves the issue entirely.

Copy link
Collaborator

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

(About the mentioned side effect: if the traces would not be produced due to e.g., a bug, it would time out as far as I know).

@BridgeAR BridgeAR merged commit 62d20bb into master Oct 24, 2025
791 of 793 checks passed
@BridgeAR BridgeAR deleted the fix-kinesis-test-race branch October 24, 2025 10:09
@dd-octo-sts dd-octo-sts bot mentioned this pull request Oct 25, 2025
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.

3 participants