From 96fb92f868332671ae13d5f3282b12b7f74f098f Mon Sep 17 00:00:00 2001 From: jean-philippe bempel Date: Mon, 7 Apr 2025 16:44:57 +0200 Subject: [PATCH] Fix In-Product when config is empty should not stop the product with empty config --- .../debugger/agent/DefaultProductConfigUpdater.java | 10 ++++++---- .../agent/DefaultProductConfigUpdaterTest.java | 5 +++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DefaultProductConfigUpdater.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DefaultProductConfigUpdater.java index 1bfe5cc2c54..3b71b4c985b 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DefaultProductConfigUpdater.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DefaultProductConfigUpdater.java @@ -70,10 +70,12 @@ private static void startOrStopFeature( LOGGER.debug("Feature {} is explicitly disabled", booleanKey); return; } - if (currentStatus != null && currentStatus) { - start.run(); - } else { - stop.run(); + if (currentStatus != null) { + if (currentStatus) { + start.run(); + } else { + stop.run(); + } } } } diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DefaultProductConfigUpdaterTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DefaultProductConfigUpdaterTest.java index 36814893855..16e1ea7c46e 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DefaultProductConfigUpdaterTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DefaultProductConfigUpdaterTest.java @@ -24,6 +24,11 @@ public void enableDisable() { assertTrue(productConfigUpdater.isExceptionReplayEnabled()); assertTrue(productConfigUpdater.isCodeOriginEnabled()); assertTrue(productConfigUpdater.isDistributedDebuggerEnabled()); + productConfigUpdater.updateConfig(null, null, null, null); + assertTrue(productConfigUpdater.isDynamicInstrumentationEnabled()); + assertTrue(productConfigUpdater.isExceptionReplayEnabled()); + assertTrue(productConfigUpdater.isCodeOriginEnabled()); + assertTrue(productConfigUpdater.isDistributedDebuggerEnabled()); productConfigUpdater.updateConfig(false, false, false, false); assertFalse(productConfigUpdater.isDynamicInstrumentationEnabled()); assertFalse(productConfigUpdater.isExceptionReplayEnabled());