From f6d26d7b6d8c525411d00db7795db0bd2143b295 Mon Sep 17 00:00:00 2001 From: iryabov Date: Thu, 11 Sep 2025 14:03:52 +0200 Subject: [PATCH] fix: ensure proper cleanup of drill requests and execution data on recording stop EPMDJ-11061 --- .../drill/agent/test2code/coverage/ThreadCoverageRecorder.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test2code/src/main/kotlin/com/epam/drill/agent/test2code/coverage/ThreadCoverageRecorder.kt b/test2code/src/main/kotlin/com/epam/drill/agent/test2code/coverage/ThreadCoverageRecorder.kt index 0cc892dd..21e26527 100644 --- a/test2code/src/main/kotlin/com/epam/drill/agent/test2code/coverage/ThreadCoverageRecorder.kt +++ b/test2code/src/main/kotlin/com/epam/drill/agent/test2code/coverage/ThreadCoverageRecorder.kt @@ -25,6 +25,7 @@ class ThreadCoverageRecorder( private val execData: ThreadLocal = ThreadLocal() override fun startRecording(sessionId: String?, testId: String?) { + stopRecording(context.get()?.sessionId, context.get()?.testId) val ctx = ContextKey(sessionId, testId) context.set(ctx) execData.set(execDataPool.getOrPut( @@ -35,6 +36,7 @@ class ThreadCoverageRecorder( } override fun stopRecording(sessionId: String?, testId: String?) { + if (execData.get() == null) return execDataPool.release(ContextKey(sessionId, testId), execData.get() ?: ExecData()) execData.remove() context.remove()