2121import org .eclipse .collections .impl .factory .primitive .ObjectLongMaps ;
2222import org .eclipse .collections .impl .map .mutable .primitive .ObjectLongHashMap ;
2323
24+ import java .util .Arrays ;
2425import java .util .Collections ;
2526import java .util .HashMap ;
27+ import java .util .List ;
2628import java .util .Map ;
2729import java .util .Map .Entry ;
2830import 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