Skip to content

Commit dcec9cd

Browse files
author
b.abdukakharov
committed
UpgradeTracker: use List<String> as HashMap key instead of String[]
1 parent af8c300 commit dcec9cd

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/main/java/com/ibm/watson/modelmesh/UpgradeTracker.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
import org.eclipse.collections.impl.factory.primitive.ObjectLongMaps;
2222
import org.eclipse.collections.impl.map.mutable.primitive.ObjectLongHashMap;
2323

24+
import java.util.Arrays;
2425
import java.util.Collections;
2526
import java.util.HashMap;
27+
import java.util.List;
2628
import java.util.Map;
2729
import java.util.Map.Entry;
2830
import java.util.Set;
@@ -64,7 +66,7 @@ public PerTypeLabelStats() {
6466
}
6567

6668
// This is accessed only by instance updater thread
67-
private final Map<String[], PerTypeLabelStats> upgradeTracker = new HashMap<>(1);
69+
private final Map<List<String>, PerTypeLabelStats> upgradeTracker = new HashMap<>(1);
6870

6971
// Map from replicaset to expiry time, updated via copy-on-write by instance updater thread.
7072
// Copy-on-write since updates will be be rare and we want to optimize for reads.
@@ -86,7 +88,7 @@ void instanceRemoved(String iid, InstanceRecord ir) {
8688
if (iid.length() < 7) {
8789
return; // instance ids must be of non-standard format
8890
}
89-
PerTypeLabelStats ptls = upgradeTracker.get(ir.getLabels());
91+
PerTypeLabelStats ptls = upgradeTracker.get(Arrays.asList(ir.getLabels()));
9092
if (ptls == null) {
9193
return;
9294
}
@@ -121,9 +123,9 @@ void instanceAdded(String iid, InstanceRecord ir) {
121123
if (iid.length() < 7) {
122124
return; // instance ids must be of non-standard format
123125
}
124-
PerTypeLabelStats ptls = upgradeTracker.get(ir.getLabels());
126+
PerTypeLabelStats ptls = upgradeTracker.get(Arrays.asList(ir.getLabels()));
125127
if (ptls == null) {
126-
upgradeTracker.put(ir.getLabels(), ptls = new PerTypeLabelStats());
128+
upgradeTracker.put(Arrays.asList(ir.getLabels()), ptls = new PerTypeLabelStats());
127129
}
128130
long now = System.currentTimeMillis();
129131
// First 6 chars of instance id comes from replicaset name

0 commit comments

Comments
 (0)