Skip to content

Test Java agentless Feature Flags without the Java agent - #7420

Draft
leoromanovsky wants to merge 2 commits into
mainfrom
agent/java-no-agent-ffe
Draft

Test Java agentless Feature Flags without the Java agent#7420
leoromanovsky wants to merge 2 commits into
mainfrom
agent/java-no-agent-ffe

Conversation

@leoromanovsky

Copy link
Copy Markdown
Contributor

Motivation

Java agentless Feature Flags must work without dd-java-agent.jar. Legacy Remote Configuration must remain agent-backed.

Changes and Decisions

  • Add a Java launcher switch that omits -javaagent only for explicit no-agent cases.
  • Add default CDN, explicit source precedence, last-known-good, and Remote Configuration rejection coverage.
  • Keep existing Java agent-present coverage enabled.
  • Add Moshi to custom provider artifact builds.
  • Validate the behavior introduced by DataDog/dd-trace-java#12109.

Validation

  • Local no-agent coverage: four cases passed.
  • Local agent-present source and lifecycle coverage: 29 cases passed.
  • The built Java process omitted -javaagent for no-agent cases and retained it otherwise.

@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/java.yml                                                      @DataDog/asm-java @DataDog/apm-java
tests/parametric/test_ffe/test_configuration_sources.py                 @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
utils/build/docker/java/parametric/pom.xml                              @DataDog/apm-java @DataDog/asm-java @DataDog/system-tests-core
utils/build/docker/java/parametric/run.sh                               @DataDog/apm-java @DataDog/asm-java @DataDog/system-tests-core

@datadog-official

datadog-official Bot commented Jul 30, 2026

Copy link
Copy Markdown

Pipelines  Tests

⚠️ Warnings

🚦 2 Pipeline jobs failed

Testing the test | System Tests (java, dev) / parametric / parametric (2)   View in Datadog   GitHub Actions

🧪 18 Tests failed

tests.parametric.test_ffe.test_configuration_sources.Test_Feature_Flag_Agentless_Without_Java_Agent.test_agentless_evaluation_without_java_agent[default-agentless, parametric-java] from system_tests_suite   View in Datadog
AssertionError: failed to start the no-agent FFE provider
assert False
 +  where False = <bound method ParametricTestClientApi.ffe_start of <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52b27b0>>()
 +    where <bound method ParametricTestClientApi.ffe_start of <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52b27b0>> = <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52b27b0>.ffe_start

self = <tests.parametric.test_ffe.test_configuration_sources.Test_Feature_Flag_Agentless_Without_Java_Agent object at 0x7fc7d60fc6b0>
test_library = <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52b27b0>
mock_ffe_agentless_backend = <utils.mocked_backend.ffe.MockFFEAgentlessBackendServer object at 0x7fc7d52b1880>

    @parametrize(
...
tests.parametric.test_ffe.test_configuration_sources.Test_Feature_Flag_Agentless_Without_Java_Agent.test_agentless_evaluation_without_java_agent[explicit-agentless-over-legacy, parametric-java] from system_tests_suite   View in Datadog
AssertionError: failed to start the no-agent FFE provider
assert False
 +  where False = <bound method ParametricTestClientApi.ffe_start of <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52e97c0>>()
 +    where <bound method ParametricTestClientApi.ffe_start of <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52e97c0>> = <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52e97c0>.ffe_start

self = <tests.parametric.test_ffe.test_configuration_sources.Test_Feature_Flag_Agentless_Without_Java_Agent object at 0x7fc7d60fc920>
test_library = <utils.docker_fixtures._test_clients._test_client_parametric.ParametricTestClientApi object at 0x7fc7d52e97c0>
mock_ffe_agentless_backend = <utils.mocked_backend.ffe.MockFFEAgentlessBackendServer object at 0x7fc7d52e8050>

    @parametrize(
...
View all failed tests

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: 55a1e57 | 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.

1 participant