Skip to content

Commit 74e9d7c

Browse files
authored
Remove ImmutableOpen*Map from Version (#86245)
The Version class has two internal static maps for keeping track of the known Version objects and quickly decoding from a version id into the known Version object. This commit converts these maps to HashMaps. relates #86239
1 parent e54d0ae commit 74e9d7c

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

server/src/main/java/org/elasticsearch/Version.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
package org.elasticsearch;
1010

1111
import org.elasticsearch.common.Strings;
12-
import org.elasticsearch.common.collect.ImmutableOpenIntMap;
13-
import org.elasticsearch.common.collect.ImmutableOpenMap;
1412
import org.elasticsearch.common.io.stream.StreamInput;
1513
import org.elasticsearch.common.io.stream.StreamOutput;
1614
import org.elasticsearch.core.RestApiVersion;
@@ -24,8 +22,10 @@
2422
import java.lang.reflect.Modifier;
2523
import java.util.ArrayList;
2624
import java.util.Collections;
25+
import java.util.HashMap;
2726
import java.util.List;
2827
import java.util.Locale;
28+
import java.util.Map;
2929
import java.util.Objects;
3030

3131
public class Version implements Comparable<Version>, ToXContentFragment {
@@ -112,12 +112,12 @@ public class Version implements Comparable<Version>, ToXContentFragment {
112112
public static final Version V_8_3_0 = new Version(8_03_00_99, org.apache.lucene.util.Version.LUCENE_9_1_0);
113113
public static final Version CURRENT = V_8_3_0;
114114

115-
private static final ImmutableOpenIntMap<Version> idToVersion;
116-
private static final ImmutableOpenMap<String, Version> stringToVersion;
115+
private static final Map<Integer, Version> idToVersion;
116+
private static final Map<String, Version> stringToVersion;
117117

118118
static {
119-
final ImmutableOpenIntMap.Builder<Version> builder = ImmutableOpenIntMap.builder();
120-
final ImmutableOpenMap.Builder<String, Version> builderByString = ImmutableOpenMap.builder();
119+
final Map<Integer, Version> builder = new HashMap<>();
120+
final Map<String, Version> builderByString = new HashMap<>();
121121

122122
for (final Field declaredField : Version.class.getFields()) {
123123
if (declaredField.getType().equals(Version.class)) {
@@ -158,8 +158,8 @@ public class Version implements Comparable<Version>, ToXContentFragment {
158158
+ "]";
159159
builder.put(V_EMPTY_ID, V_EMPTY);
160160
builderByString.put(V_EMPTY.toString(), V_EMPTY);
161-
idToVersion = builder.build();
162-
stringToVersion = builderByString.build();
161+
idToVersion = Map.copyOf(builder);
162+
stringToVersion = Map.copyOf(builderByString);
163163
}
164164

165165
public static Version readVersion(StreamInput in) throws IOException {

0 commit comments

Comments
 (0)