Skip to content

fix(native): bump libdatadog to v36 - #18713

Closed
VianneyRuhlmann wants to merge 4 commits into
mainfrom
vianney/bump-libdatadog-36
Closed

VianneyRuhlmann wants to merge 4 commits into
mainfrom
vianney/bump-libdatadog-36

Conversation

@VianneyRuhlmann

Copy link
Copy Markdown
Contributor

Description

Bump libdatadog to v36.0.0

@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Jun 23, 2026 •

Copy link
Copy Markdown
Contributor

Pipelines  Tests

✨ Fix all issues with BitsAI

⚠️ Warnings

🚦 8 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-py | build linux serverless: [amd64, cp315-cp315, v113741238-d2b8243-manylinux2014_x86_64, 1]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-py | build linux serverless: [amd64, cp315-cp315, v113741491-d2b8243-musllinux_1_2_x86_64, 1]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-py | build linux serverless: [arm64, cp315-cp315, v113741357-d2b8243-manylinux2014_aarch64, 1]   View in Datadog   GitLab

View all 8 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog auto-retried 4 jobs - 3 passed on retry View in Datadog

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 92096b1 | Docs | Datadog PR Page | Give us feedback!

@VianneyRuhlmann VianneyRuhlmann added the changelog/no-changelog A changelog entry is not required for this PR. label Jun 23, 2026
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Jun 23, 2026 •

Copy link
Copy Markdown

Codeowners resolved as

src/native/tracer_flare.rs                                              @DataDog/apm-core-python

@pr-commenter

pr-commenter Bot commented Jun 23, 2026 •

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-06-24 11:39:58

Comparing candidate commit 92096b1 in PR branch vianney/bump-libdatadog-36 with baseline commit 3776154 in branch main.

Found 0 performance improvements and 8 performance regressions! Performance is the same for 608 metrics, 10 unstable metrics.

scenario:iast_aspects-re_expand_aspect

  • 🟥 execution_time [+261.726µs; +307.885µs] or [+7.315%; +8.605%]

scenario:iast_aspects-re_search_aspect

  • 🟥 execution_time [+21.404µs; +25.602µs] or [+7.526%; +9.001%]

scenario:iastaspects-strip_aspect

  • 🟥 execution_time [+48.327µs; +55.884µs] or [+15.341%; +17.740%]

scenario:iastaspects-upper_noaspect

  • 🟥 execution_time [+22.518µs; +27.523µs] or [+9.486%; +11.594%]

scenario:iastaspectsospath-ospathbasename_aspect

  • 🟥 execution_time [+109.296µs; +119.268µs] or [+25.473%; +27.797%]

scenario:span-start

  • 🟥 execution_time [+1.580ms; +1.752ms] or [+10.259%; +11.373%]

scenario:telemetryaddmetric-1-count-metric-1-times

  • 🟥 execution_time [+195.350ns; +228.947ns] or [+9.284%; +10.881%]

scenario:tracer-small

  • 🟥 execution_time [+25.895µs; +28.354µs] or [+7.454%; +8.162%]

## Motivation

PR #18713 bumps libdatadog to v36. System Tests fail because invalid
Feature Flagging and Experimentation flag configuration now comes
through libdatadog as `FlagConfigurationInvalid`; dd-trace-py previously
fell through to OpenFeature `GENERAL`, causing metrics to emit
`error.type:general` instead of the expected `error.type:parse_error`.

## Changes

This maps `EvaluationError::FlagConfigurationInvalid` to the existing
native `ParseError` wrapper path alongside `ConfigurationParseError`. It
also adds an OpenFeature provider regression test for invalid per-flag
configuration and a release note for the preserved error-code behavior.

## Decisions

The fix stays in the Rust/PyO3 wrapper rather than changing Python
metrics code or system-test expectations, because the upstream native
error still represents an invalid flag configuration parse/compile
failure. This PR is stacked on `vianney/bump-libdatadog-36` so the
libdatadog upgrade can absorb the compatibility shim directly.

## Testing

- `scripts/lint fmt tests/openfeature/test_provider.py`
- `cargo fmt --manifest-path src/native/Cargo.toml -- src/native/ffe.rs`
- `scripts/lint style tests/openfeature/test_provider.py`
- `scripts/run-tests --venv 13c4b39 tests/openfeature/test_provider.py
-- -- -k invalid_configuration -vv`
- `uvx --from reno reno lint`

## Risks

Low. The change only maps a newly introduced libdatadog v36 FFE error
variant to the same OpenFeature parse error already used for
configuration parse failures.
@VianneyRuhlmann
VianneyRuhlmann requested a review from iunanua June 24, 2026 07:49
@VianneyRuhlmann
VianneyRuhlmann marked this pull request as ready for review June 24, 2026 07:58
@VianneyRuhlmann
VianneyRuhlmann requested review from a team as code owners June 24, 2026 07:58
@VianneyRuhlmann VianneyRuhlmann removed the changelog/no-changelog A changelog entry is not required for this PR. label Jun 24, 2026
Comment thread src/native/tracer_flare.rs Outdated

@typotter typotter left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm for flags

@VianneyRuhlmann VianneyRuhlmann changed the title chore(native): bump libdatadog to v36 fix(native): bump libdatadog to v36 Jun 25, 2026
@mabdinur

mabdinur commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Would it make sense to merge this PR instead: #18821?

Then we can bump dd-trace-py straight to v37 rather than v36.

@VianneyRuhlmann

Copy link
Copy Markdown
Contributor Author

Closed in favor of #18821

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants