diff --git a/docs/changelog/109006.yaml b/docs/changelog/109006.yaml
new file mode 100644
index 0000000000000..57a514977e85d
--- /dev/null
+++ b/docs/changelog/109006.yaml
@@ -0,0 +1,5 @@
+pr: 109006
+summary: Upgrade hppc to 0.9.1
+area: Infra/Core
+type: upgrade
+issues: []
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 41c3bafde5e33..95fa6c99d851b 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -149,9 +149,9 @@
-
-
-
+
+
+
diff --git a/server/build.gradle b/server/build.gradle
index 03713bc3d2837..1f926a95bef3c 100644
--- a/server/build.gradle
+++ b/server/build.gradle
@@ -59,7 +59,7 @@ dependencies {
// utilities
api project(":libs:elasticsearch-cli")
- implementation 'com.carrotsearch:hppc:0.8.1'
+ implementation 'com.carrotsearch:hppc:0.9.1'
// precentil ranks aggregation
api 'org.hdrhistogram:HdrHistogram:2.1.9'
diff --git a/server/src/main/java/module-info.java b/server/src/main/java/module-info.java
index d8682500c49d6..c56aa6889e33a 100644
--- a/server/src/main/java/module-info.java
+++ b/server/src/main/java/module-info.java
@@ -35,7 +35,7 @@
requires org.elasticsearch.vec;
requires com.sun.jna;
- requires hppc;
+ requires com.carrotsearch.hppc;
requires HdrHistogram;
requires jopt.simple;
requires log4j2.ecs.layout;
diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java b/server/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java
index cf8e0608ecbd4..11a95641e5ed8 100644
--- a/server/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java
+++ b/server/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java
@@ -1121,6 +1121,10 @@ public ShardRouting[] drain() {
return mutableShardRoutings;
}
+ static boolean equalListsWithoutOrder(List a, List b) {
+ return a.size() == b.size() && new HashSet<>(a).containsAll(b);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -1132,8 +1136,8 @@ public boolean equals(Object o) {
UnassignedShards that = (UnassignedShards) o;
return primaries == that.primaries
&& ignoredPrimaries == that.ignoredPrimaries
- && unassigned.equals(that.unassigned)
- && ignored.equals(that.ignored);
+ && equalListsWithoutOrder(unassigned, that.unassigned)
+ && equalListsWithoutOrder(ignored, that.ignored);
}
@Override