diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/GitDataUploaderImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/GitDataUploaderImpl.java index c79741aa8e4..483285802a5 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/GitDataUploaderImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/GitDataUploaderImpl.java @@ -167,7 +167,15 @@ private void uploadGitData() { LOGGER.error("Failed to upload git tree data for remote {}", remoteName, e); callback.completeExceptionally(e); } finally { + removeShutdownHook(); + } + } + + private void removeShutdownHook() { + try { Runtime.getRuntime().removeShutdownHook(uploadFinishedShutdownHook); + } catch (IllegalStateException e) { + // JVM is being shutdown } }