Browse Source

Save needless TreeMap.contains in TimeSeriesIdFieldMapper (#105583)

We were burning quite a few cycles here on traversing the tree map
twice.
Armin Braun 1 year ago
parent
commit
7870c3a53f

+ 1 - 3
server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesIdFieldMapper.java

@@ -345,11 +345,9 @@ public class TimeSeriesIdFieldMapper extends MetadataFieldMapper {
         }
 
         private void add(String fieldName, BytesReference encoded) throws IOException {
-            final Dimension dimension = new Dimension(new BytesRef(fieldName), encoded);
-            if (dimensions.contains(dimension)) {
+            if (dimensions.add(new Dimension(new BytesRef(fieldName), encoded)) == false) {
                 throw new IllegalArgumentException("Dimension field [" + fieldName + "] cannot be a multi-valued field.");
             }
-            dimensions.add(dimension);
         }
     }