From 8b96603ff4d8bc9060e1cbf1dab510c4e70344a8 Mon Sep 17 00:00:00 2001 From: "datadog-datadog-prod-us1[bot]" <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 18:10:24 +0000 Subject: [PATCH 1/2] Use HashingUtils in config hashCode Co-authored-by: dougqh --- .../main/java/datadog/remoteconfig/state/ParsedConfigKey.java | 3 ++- .../src/main/java/datadog/trace/api/ConfigSetting.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ParsedConfigKey.java b/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ParsedConfigKey.java index 4554471d357..171d1e9a9b7 100644 --- a/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ParsedConfigKey.java +++ b/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ParsedConfigKey.java @@ -2,6 +2,7 @@ import datadog.remoteconfig.Product; import datadog.remoteconfig.ReportableException; +import datadog.trace.util.HashingUtils; import java.util.Locale; import java.util.Objects; import java.util.regex.Matcher; @@ -90,6 +91,6 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(originalKey); + return HashingUtils.hash(originalKey); } } diff --git a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java index 45e434751b5..2e038daa3c2 100644 --- a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java +++ b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java @@ -1,5 +1,6 @@ package datadog.trace.api; +import datadog.trace.util.HashingUtils; import java.util.Arrays; import java.util.BitSet; import java.util.HashSet; @@ -132,7 +133,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(key, value, origin, seqId, configId); + return HashingUtils.addToHash(HashingUtils.hash(key, value, origin, seqId), configId); } @Override From 43e18b25ab3aeb802069d008418bde450315a075 Mon Sep 17 00:00:00 2001 From: Douglas Q Hawkins Date: Wed, 11 Mar 2026 14:16:10 -0400 Subject: [PATCH 2/2] Tweaking approach to avoid auto-boxing --- .../src/main/java/datadog/trace/api/ConfigSetting.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java index 2e038daa3c2..c0277a566c6 100644 --- a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java +++ b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java @@ -133,7 +133,13 @@ public boolean equals(Object o) { @Override public int hashCode() { - return HashingUtils.addToHash(HashingUtils.hash(key, value, origin, seqId), configId); + int hash = 0; + hash = HashingUtils.addToHash(hash, key); + hash = HashingUtils.addToHash(hash, value); + hash = HashingUtils.addToHash(hash, origin); + hash = HashingUtils.addToHash(hash, seqId); + hash = HashingUtils.addToHash(hash, configId); + return hash; } @Override