Skip to content

Enable EVP flagevaluation system tests for Java#7185

Draft
leoromanovsky wants to merge 3 commits into
mainfrom
leo.romanovsky/ffe-evp-flagevaluation-enable-java-clean
Draft

Enable EVP flagevaluation system tests for Java#7185
leoromanovsky wants to merge 3 commits into
mainfrom
leo.romanovsky/ffe-evp-flagevaluation-enable-java-clean

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Motivation

tests/ffe/test_flag_eval_evp.py covers the server-side EVP flagevaluation contract for SDKs. Java spring-boot has a passing branch-backed system-test run, so its manifest can move from missing_feature (FFL-2446) to the validated version and provide the Java system-test companion evidence for DataDog/dd-trace-java#11639.

Changes

  • Enables tests/ffe/test_flag_eval_evp.py for Java spring-boot in manifests/java.yml at v1.64.0-SNAPSHOT.
  • Leaves other Java weblogs marked irrelevant.
  • Keeps this as a sibling language enablement PR stacked on the merged EVP flagevaluation system-test baseline.

Decisions

  • This PR enables only the validated Java weblog; other languages are enabled by separate sibling PRs after their own local pass evidence.
  • Java validation staged all branch artifacts used by the weblog: dd-java-agent, dd-trace-api, and dd-openfeature.
  • Existing OTel metric coverage stays in tests/ffe/test_flag_eval_metrics.py.

Validation

System Tests

  • Companion SDK PR: feat(openfeature): emit server-side EVP flagevaluation dd-trace-java#11639.
  • Rebuilt weblog image contains BOOT-INF/lib/dd-trace-api-9999.jar and BOOT-INF/lib/dd-openfeature-9999.jar.
  • TEST_LIBRARY=java WEBLOG_VARIANT=spring-boot ./run.sh +l java FEATURE_FLAGGING_AND_EXPERIMENTATION -k "test_flag_eval_evp" - PASS on 2026-06-20, 8 passed, 2627 deselected in 82.29s.
  • Runtime: Agent 7.80.1; library java@1.64.0-SNAPSHOT+7f0cf1f0e0; weblog spring-boot; Linux aarch64.

@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/java.yml                                                      @DataDog/asm-java @DataDog/apm-java

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Jun 20, 2026

Copy link
Copy Markdown

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 2 Pipeline jobs failed

Testing the test | System Tests (java, dev) / End-to-end #1 / spring-boot 1   View in Datadog   GitHub Actions

🧪 8 Tests failed

tests.ffe.test_flag_eval_evp.Test_FFE_EVP_Flagevaluation_Basic.test_ffe_evp_flagevaluation_basic[spring-boot] from system_tests_suite   View in Datadog
AssertionError: Timed out waiting for EVP flagevaluation event for flag evp-basic-flag
assert False
 +  where False = <bound method ProxyBasedInterfaceValidator.wait_for of AgentInterfaceValidator('agent')>(<function wait_for_evp_flagevaluation_event.<locals>.<lambda> at 0x7f5222d207c0>, timeout=30)
 +    where <bound method ProxyBasedInterfaceValidator.wait_for of AgentInterfaceValidator('agent')> = AgentInterfaceValidator('agent').wait_for
 +      where AgentInterfaceValidator('agent') = interfaces.agent

self = <tests.ffe.test_flag_eval_evp.Test_FFE_EVP_Flagevaluation_Basic object at 0x7f5269088350>

    def test_ffe_evp_flagevaluation_basic(self) -> None:
        assert self.r.status_code == 200, f"Flag evaluation failed: {self.r.text}"
...
tests.ffe.test_flag_eval_evp.Test_FFE_EVP_Flagevaluation_Burst_Aggregation.test_ffe_evp_flagevaluation_burst_aggregation[spring-boot] from system_tests_suite   View in Datadog
AssertionError: Timed out waiting for EVP flagevaluation event for flag evp-burst-aggregation-flag
assert False
 +  where False = <bound method ProxyBasedInterfaceValidator.wait_for of AgentInterfaceValidator('agent')>(<function wait_for_evp_flagevaluation_event.<locals>.<lambda> at 0x7f5222eee840>, timeout=30)
 +    where <bound method ProxyBasedInterfaceValidator.wait_for of AgentInterfaceValidator('agent')> = AgentInterfaceValidator('agent').wait_for
 +      where AgentInterfaceValidator('agent') = interfaces.agent

self = <tests.ffe.test_flag_eval_evp.Test_FFE_EVP_Flagevaluation_Burst_Aggregation object at 0x7f52690885f0>

    def test_ffe_evp_flagevaluation_burst_aggregation(self) -> None:
        for index, response in enumerate(self.responses):
...
View all 8 test failures

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

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

Useful? React with 👍 / 👎

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

@datadog-system-tests-org

datadog-system-tests-org Bot commented Jun 20, 2026

Copy link
Copy Markdown

Pipelines

⚠️ Warnings

🚦 2 Pipeline jobs failed

Testing the test | System Tests (java, dev) / End-to-end #1 / spring-boot 1   View in Datadog   GitHub Actions

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

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 923dc46 | Docs | Give us feedback!

Base automatically changed from leo.romanovsky/ffe-evp-flagevaluation-contract-fix to main June 22, 2026 19:40
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.

1 participant