diff --git a/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java b/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java index 000287f121b..adecf1bb1f1 100644 --- a/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java +++ b/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java @@ -1122,9 +1122,11 @@ private static String getSparkServiceName(SparkConf conf, boolean isRunningOnDat return null; } - // Keep service set by user, except if it is only "spark" that can be set by USM + // Keep service set by user, except if it is only "spark" or "hadoop" that can be set by USM String serviceName = Config.get().getServiceName(); - if (Config.get().isServiceNameSetByUser() && !"spark".equals(serviceName)) { + if (Config.get().isServiceNameSetByUser() + && !"spark".equals(serviceName) + && !"hadoop".equals(serviceName)) { log.debug("Service '{}' explicitly set by user, not using the application name", serviceName); return null; } diff --git a/dd-java-agent/instrumentation/spark/src/testFixtures/groovy/datadog/trace/instrumentation/spark/AbstractSparkTest.groovy b/dd-java-agent/instrumentation/spark/src/testFixtures/groovy/datadog/trace/instrumentation/spark/AbstractSparkTest.groovy index 8ad84784b3b..36ae6ab5fe0 100644 --- a/dd-java-agent/instrumentation/spark/src/testFixtures/groovy/datadog/trace/instrumentation/spark/AbstractSparkTest.groovy +++ b/dd-java-agent/instrumentation/spark/src/testFixtures/groovy/datadog/trace/instrumentation/spark/AbstractSparkTest.groovy @@ -686,6 +686,7 @@ abstract class AbstractSparkTest extends AgentTestRunner { ddService | sparkAppNameAsService | appName | isRunningOnDatabricks | expectedService "foobar" | true | "some_app" | false | "(?!.*some_app).*" "spark" | true | "some_app" | false | "some_app" + "hadoop" | true | "some_app" | false | "some_app" null | true | "some_app" | true | "(?!.*some_app).*" null | true | "some_app" | false | "some_app" null | false | "some_app" | false | "(?!.*some_app).*"