Solve the data race problem. PiperOrigin-RevId: 905103948
diff --git a/pipelinedp4j/main/com/google/privacy/differentialprivacy/pipelinedp4j/api/QueryPerGroupResult.kt b/pipelinedp4j/main/com/google/privacy/differentialprivacy/pipelinedp4j/api/QueryPerGroupResult.kt index cc30f7b..84ae3ed 100644 --- a/pipelinedp4j/main/com/google/privacy/differentialprivacy/pipelinedp4j/api/QueryPerGroupResult.kt +++ b/pipelinedp4j/main/com/google/privacy/differentialprivacy/pipelinedp4j/api/QueryPerGroupResult.kt
@@ -61,7 +61,15 @@ outputColumnNamesWithMetricTypes, colNameToFeatureIdMap, ) - return QueryPerGroupResult<GroupKeysT>(groupKey, valueAggregationsMap, vectorAggregationsMap) + + val finalValueMap = LinkedHashMap(valueAggregationsMap) + val finalVectorMap = LinkedHashMap(vectorAggregationsMap) + + // Eagerly access entries to avoid lazy initialization race + val unusedValueEntries = finalValueMap.entries + val unusedVectorEntries = finalVectorMap.entries + + return QueryPerGroupResult<GroupKeysT>(groupKey, finalValueMap, finalVectorMap) } internal fun valueColumnsNamesInAggregationResults(