Skip to content

feat(parametric/java): activate FFE span-enrichment tests [java@typo/FFL-2224/ffe-span-enrichment]#7204

Draft
typotter wants to merge 2 commits into
mainfrom
typo/FFL-2224/ffe-span-enrichment-enable-java
Draft

feat(parametric/java): activate FFE span-enrichment tests [java@typo/FFL-2224/ffe-span-enrichment]#7204
typotter wants to merge 2 commits into
mainfrom
typo/FFL-2224/ffe-span-enrichment-enable-java

Conversation

@typotter

Copy link
Copy Markdown
Contributor

Motivation

Activates the frozen tests/parametric/test_ffe/test_span_enrichment.py suite for Java against
dd-trace-java#11658 (FFE APM span enrichment, gated behind
DD_EXPERIMENTAL_FLAGGING_PROVIDER_SPAN_ENRICHMENT_ENABLED).

Supersedes #7150 (Leo's draft) — same approach, rebased on current main with infrastructure
fixes needed to get the full 18-test suite passing locally.

Changes

  • manifests/java.yml — declare tests/parametric/test_ffe/test_span_enrichment.py
    at v1.63.0-SNAPSHOT (SNAPSHOT so CI runs against java@typo/FFL-2224/ffe-span-enrichment
    rather than xfailing; will be updated to the release version before merge).
  • utils/build/docker/java/parametric/run.sh — bump JVM heap from 128M to 256M to
    prevent OOM kills when 16 parametric workers run concurrently with span enrichment enabled.
  • utils/_context/_scenarios/_docker_fixtures.py — handle docker.errors.NotFound in
    _clean_containers: Docker SDK's containers.list(all=True) can return container IDs that
    no longer exist by the time inspect_container is called; fall back to raw API to avoid
    a crash that prevented test cleanup between runs.

Validation

All 18 cases pass against dd-java-agent 1.63.0-SNAPSHOT (dd-trace-java#11658,
HEAD 109eab80bc). The 16-parallel-worker run surfaces a startup timeout under CPU
contention — confirmed all tests pass when run with --dist no.

leoromanovsky and others added 2 commits June 23, 2026 12:20
Enable tests/parametric/test_ffe/test_span_enrichment.py for the Java
tracer (DataDog/dd-trace-java#11658), which adds FFE APM feature-flag
span enrichment behind DD_EXPERIMENTAL_FLAGGING_PROVIDER_SPAN_ENRICHMENT_ENABLED.

- FeatureFlagEvaluatorController: re-activate the caller-supplied root span
  (span_id) around the OpenFeature evaluation so the ffe_* tags land on the
  test's root span. span_id arrives as a decimal string and is resolved via
  the OpenTracing registry (DDSpanId.from); unknown/unparsable ids skip
  activation and never throw.
- manifests/java.yml: declare the enrichment suite at v1.64.0 (the release
  that ships the feature).
- Set manifest to v1.63.0-SNAPSHOT (all 18 tests passing)
- Bump parametric JVM heap from 128M to 256M to avoid OOM under 16-worker parallelism
- Fix zombie container crash in _clean_containers when Docker returns 404 on inspect
@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/java.yml                                                      @DataDog/asm-java @DataDog/apm-java
utils/_context/_scenarios/_docker_fixtures.py                           @DataDog/system-tests-core
utils/build/docker/java/parametric/run.sh                               @DataDog/apm-java @DataDog/asm-java @DataDog/system-tests-core
utils/build/docker/java/parametric/src/main/java/com/datadoghq/trace/controller/FeatureFlagEvaluatorController.java  @DataDog/apm-java @DataDog/asm-java @DataDog/system-tests-core

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Jun 24, 2026

Copy link
Copy Markdown

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 3 Pipeline jobs failed

Testing the test | all-jobs-are-green   View in Datadog   GitHub Actions

Testing the test | lint / lint   View in Datadog   GitHub Actions

Testing the test | Fail if target branch is specified   View in Datadog   GitHub Actions

Useful? React with 👍 / 👎

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

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.

2 participants