Skip to content

Commit b07d7ee

Browse files
Fix OpenLineage instrumentation
Signed-off-by: Pawel Leszczynski <[email protected]>
1 parent 5dfc6f7 commit b07d7ee

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/OpenLineageInstrumentation.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import datadog.trace.agent.tooling.InstrumenterModule;
1111
import datadog.trace.api.Config;
1212
import datadog.trace.bootstrap.InstanceStore;
13+
import datadog.trace.bootstrap.debugger.el.ReflectiveFieldValueResolver;
1314
import net.bytebuddy.asm.Advice;
1415
import org.apache.spark.SparkConf;
1516
import org.slf4j.Logger;
@@ -69,7 +70,12 @@ public static void exit(@Advice.This Object self, @Advice.FieldValue("conf") Spa
6970
"OpenLineage - Data Jobs integration disabled. Not manipulating OpenLineageSparkListener");
7071
return;
7172
}
72-
InstanceStore.of(SparkConf.class).put("openLineageSparkConf", conf);
73+
Object olSparkConf = ReflectiveFieldValueResolver.resolve(self, SparkConf.class, "conf");
74+
if (olSparkConf instanceof SparkConf) {
75+
InstanceStore.of(SparkConf.class).put("openLineageSparkConf", (SparkConf) olSparkConf);
76+
} else {
77+
log.warn("Unable to inject datadog config into OpenLineage listener");
78+
}
7379
}
7480
}
7581
}

0 commit comments

Comments
 (0)