Skip to content

Commit 904d80a

Browse files
authored
Remove ImmutableOpenIntMap (#86447)
All uses of the class have been removed, so this commit now removes the tests and the class itself. relates #86239
1 parent 733f9fa commit 904d80a

File tree

4 files changed

+0
-894
lines changed

4 files changed

+0
-894
lines changed

server/src/main/java/org/elasticsearch/cluster/DiffableUtils.java

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

1111
import org.elasticsearch.Version;
12-
import org.elasticsearch.common.collect.ImmutableOpenIntMap;
1312
import org.elasticsearch.common.collect.ImmutableOpenMap;
1413
import org.elasticsearch.common.io.stream.StreamInput;
1514
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -81,33 +80,6 @@ public static <K, T> MapDiff<K, T, ImmutableOpenMap<K, T>> diff(
8180
return before.equals(after) ? emptyDiff() : ImmutableOpenMapDiff.create(before, after, keySerializer, valueSerializer);
8281
}
8382

84-
/**
85-
* Calculates diff between two ImmutableOpenIntMaps of Diffable objects
86-
*/
87-
public static <T extends Diffable<T>> MapDiff<Integer, T, ImmutableOpenIntMap<T>> diff(
88-
ImmutableOpenIntMap<T> before,
89-
ImmutableOpenIntMap<T> after,
90-
KeySerializer<Integer> keySerializer
91-
) {
92-
assert after != null && before != null;
93-
return before.equals(after)
94-
? emptyDiff()
95-
: ImmutableOpenIntMapDiff.create(before, after, keySerializer, DiffableValueSerializer.getWriteOnlyInstance());
96-
}
97-
98-
/**
99-
* Calculates diff between two ImmutableOpenIntMaps of non-diffable objects
100-
*/
101-
public static <T> MapDiff<Integer, T, ImmutableOpenIntMap<T>> diff(
102-
ImmutableOpenIntMap<T> before,
103-
ImmutableOpenIntMap<T> after,
104-
KeySerializer<Integer> keySerializer,
105-
ValueSerializer<Integer, T> valueSerializer
106-
) {
107-
assert after != null && before != null;
108-
return before.equals(after) ? emptyDiff() : ImmutableOpenIntMapDiff.create(before, after, keySerializer, valueSerializer);
109-
}
110-
11183
/**
11284
* Calculates diff between two Maps of Diffable objects.
11385
*/
@@ -151,17 +123,6 @@ public static <K, T> MapDiff<K, T, ImmutableOpenMap<K, T>> readImmutableOpenMapD
151123
return diffOrEmpty(new ImmutableOpenMapDiff<>(in, keySerializer, valueSerializer));
152124
}
153125

154-
/**
155-
* Loads an object that represents difference between two ImmutableOpenMaps
156-
*/
157-
public static <T> MapDiff<Integer, T, ImmutableOpenIntMap<T>> readImmutableOpenIntMapDiff(
158-
StreamInput in,
159-
KeySerializer<Integer> keySerializer,
160-
ValueSerializer<Integer, T> valueSerializer
161-
) throws IOException {
162-
return diffOrEmpty(new ImmutableOpenIntMapDiff<>(in, keySerializer, valueSerializer));
163-
}
164-
165126
/**
166127
* Loads an object that represents difference between two Maps of Diffable objects
167128
*/
@@ -184,18 +145,6 @@ public static <K, T extends Diffable<T>> MapDiff<K, T, ImmutableOpenMap<K, T>> r
184145
return diffOrEmpty(new ImmutableOpenMapDiff<>(in, keySerializer, diffableValueReader));
185146
}
186147

187-
/**
188-
* Loads an object that represents difference between two ImmutableOpenIntMaps of Diffable objects using Diffable proto object
189-
*/
190-
public static <T extends Diffable<T>> MapDiff<Integer, T, ImmutableOpenIntMap<T>> readImmutableOpenIntMapDiff(
191-
StreamInput in,
192-
KeySerializer<Integer> keySerializer,
193-
Reader<T> reader,
194-
Reader<Diff<T>> diffReader
195-
) throws IOException {
196-
return diffOrEmpty(new ImmutableOpenIntMapDiff<>(in, keySerializer, new DiffableValueReader<>(reader, diffReader)));
197-
}
198-
199148
/**
200149
* Loads an object that represents difference between two Maps of Diffable objects using Diffable proto object
201150
*/
@@ -380,88 +329,6 @@ public ImmutableOpenMap<K, T> apply(ImmutableOpenMap<K, T> map) {
380329
}
381330
}
382331

383-
/**
384-
* Represents differences between two ImmutableOpenIntMap of (possibly diffable) objects
385-
*
386-
* @param <T> the object type
387-
*/
388-
private static class ImmutableOpenIntMapDiff<T> extends MapDiff<Integer, T, ImmutableOpenIntMap<T>> {
389-
390-
private ImmutableOpenIntMapDiff(
391-
KeySerializer<Integer> keySerializer,
392-
ValueSerializer<Integer, T> valueSerializer,
393-
List<Integer> deletes,
394-
List<Map.Entry<Integer, Diff<T>>> diffs,
395-
List<Map.Entry<Integer, T>> upserts
396-
) {
397-
super(keySerializer, valueSerializer, deletes, diffs, upserts);
398-
}
399-
400-
private ImmutableOpenIntMapDiff(StreamInput in, KeySerializer<Integer> keySerializer, ValueSerializer<Integer, T> valueSerializer)
401-
throws IOException {
402-
super(in, keySerializer, valueSerializer);
403-
}
404-
405-
private static <T> ImmutableOpenIntMapDiff<T> create(
406-
ImmutableOpenIntMap<T> before,
407-
ImmutableOpenIntMap<T> after,
408-
KeySerializer<Integer> keySerializer,
409-
ValueSerializer<Integer, T> valueSerializer
410-
) {
411-
assert after != null && before != null;
412-
413-
int inserts = 0;
414-
var upserts = new ArrayList<Map.Entry<Integer, T>>();
415-
var diffs = new ArrayList<Map.Entry<Integer, Diff<T>>>();
416-
for (Map.Entry<Integer, T> entry : after.entrySet()) {
417-
T beforeValue = before.get(entry.getKey());
418-
if (beforeValue == null) {
419-
upserts.add(entry);
420-
inserts++;
421-
} else if (entry.getValue().equals(beforeValue) == false) {
422-
if (valueSerializer.supportsDiffableValues()) {
423-
diffs.add(new AbstractMap.SimpleEntry<>(entry.getKey(), valueSerializer.diff(entry.getValue(), beforeValue)));
424-
} else {
425-
upserts.add(entry);
426-
}
427-
}
428-
}
429-
430-
int expectedDeletes = before.size() + inserts - after.size();
431-
var deletes = new ArrayList<Integer>(expectedDeletes);
432-
if (expectedDeletes > 0) {
433-
for (Integer key : before.keySet()) {
434-
if (after.containsKey(key) == false) {
435-
deletes.add(key);
436-
if (--expectedDeletes == 0) {
437-
break;
438-
}
439-
}
440-
}
441-
}
442-
443-
return new ImmutableOpenIntMapDiff<>(keySerializer, valueSerializer, deletes, diffs, upserts);
444-
}
445-
446-
@Override
447-
public ImmutableOpenIntMap<T> apply(ImmutableOpenIntMap<T> map) {
448-
ImmutableOpenIntMap.Builder<T> builder = ImmutableOpenIntMap.builder(map);
449-
450-
for (Integer part : deletes) {
451-
builder.remove(part);
452-
}
453-
454-
for (Map.Entry<Integer, Diff<T>> diff : diffs) {
455-
builder.put(diff.getKey(), diff.getValue().apply(builder.get(diff.getKey())));
456-
}
457-
458-
for (Map.Entry<Integer, T> upsert : upserts) {
459-
builder.put(upsert.getKey(), upsert.getValue());
460-
}
461-
return builder.build();
462-
}
463-
}
464-
465332
/**
466333
* Represents differences between two maps of objects and is used as base class for different map implementations.
467334
*

0 commit comments

Comments
 (0)