diff --git a/backend/src/main/java/com/bakdata/conquery/models/query/DistributedExecutionManager.java b/backend/src/main/java/com/bakdata/conquery/models/query/DistributedExecutionManager.java index da96df82af..bc01c8529c 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/query/DistributedExecutionManager.java +++ b/backend/src/main/java/com/bakdata/conquery/models/query/DistributedExecutionManager.java @@ -126,7 +126,8 @@ public ManagedExecution createQuery(QueryDescription query, UUID queryId, User u */ public > void handleQueryResult(R result) { - final E query = (E) storage.getExecution(result.getQueryId()); + final ManagedExecutionId executionId = result.getQueryId(); + final E query = (E) storage.getExecution(executionId); if (query.getState() != ExecutionState.RUNNING) { return; @@ -141,6 +142,10 @@ public ExecutionMetrics.getRunningQueriesCounter(primaryGroupName).dec(); ExecutionMetrics.getQueryStateCounter(query.getState(), primaryGroupName).inc(); ExecutionMetrics.getQueriesTimeHistogram(primaryGroupName).update(query.getExecutionTime().toMillis()); + + /* This log is here to prevent an NPE which could occur when no strong reference to result.getResults() + existed anymore after the query finished and immediately was reset */ + log.trace("Collected metrics for execution {}. Last result received: {}:", executionId, result.getResults()); } }