You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2025/04/15 02:11:28 UTC

(skywalking) branch master updated: ix an edge case of HashCodeSelector(Integer#MIN_VALUE causes ArrayIndexOutOfBoundsException) (#13171)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 96632eef3b ix an edge case of HashCodeSelector(Integer#MIN_VALUE causes ArrayIndexOutOfBoundsException) (#13171)
96632eef3b is described below

commit 96632eef3b53fdd49b6e2c7adb47520f8b44caf0
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Apr 15 10:11:22 2025 +0800

    ix an edge case of HashCodeSelector(Integer#MIN_VALUE causes ArrayIndexOutOfBoundsException) (#13171)
---
 docs/en/changes/changes.md                                              | 1 +
 .../skywalking/oap/server/core/remote/selector/HashCodeSelector.java    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 4838475189..1eec8bb7bd 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -8,6 +8,7 @@
 * Fix query continues profiling policies error when the policy is already in the cache.
 * Support `hot/warm/cold` stages TTL query in the status API.
 * PromQL Service: traffic query support `limit` and regex match.
+* Fix an edge case of HashCodeSelector(Integer#MIN_VALUE causes ArrayIndexOutOfBoundsException).
 
 #### UI
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java
index f8a16e28c1..19d7caaafd 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java
@@ -27,7 +27,7 @@ public class HashCodeSelector implements RemoteClientSelector {
     @Override
     public RemoteClient select(List<RemoteClient> clients, StreamData streamData) {
         int size = clients.size();
-        int selectIndex = Math.abs(streamData.remoteHashCode()) % size;
+        int selectIndex = Math.abs(streamData.remoteHashCode() % size);
         return clients.get(selectIndex);
     }
 }