From 549e97cd9fba8aef6b67d433a93077a96c24f11d Mon Sep 17 00:00:00 2001 From: mdxabu Date: Sun, 6 Jul 2025 17:37:06 +0530 Subject: [PATCH] to support null values while maintaining thread safety, you must avoid ConcurrentHashMap and use a synchronized HashMap instead Signed-off-by: mdxabu --- src/main/java/dev/openfeature/sdk/HookData.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/dev/openfeature/sdk/HookData.java b/src/main/java/dev/openfeature/sdk/HookData.java index 5c22ea79..a7429cc7 100644 --- a/src/main/java/dev/openfeature/sdk/HookData.java +++ b/src/main/java/dev/openfeature/sdk/HookData.java @@ -1,5 +1,8 @@ package dev.openfeature.sdk; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -47,8 +50,8 @@ public interface HookData { /** * Default thread-safe implementation of HookData. */ - class DefaultHookData implements HookData { - private final ConcurrentMap data = new ConcurrentHashMap<>(); + public class DefaultHookData implements HookData { + private final Map data = Collections.synchronizedMap(new HashMap<>()); @Override public void set(String key, Object value) {