From 10a5d61a34d0365b2cc3e2c4386e4a713696d9ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Novotn=C3=BD?= Date: Mon, 10 Feb 2025 14:48:29 +0100 Subject: [PATCH] fix: traffic recording labels don't work correctly --- .../io/evitadb/store/traffic/TrafficRecordingIndex.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/evita_store/evita_store_server/src/main/java/io/evitadb/store/traffic/TrafficRecordingIndex.java b/evita_store/evita_store_server/src/main/java/io/evitadb/store/traffic/TrafficRecordingIndex.java index 6c492cd8d..9ee6416c6 100644 --- a/evita_store/evita_store_server/src/main/java/io/evitadb/store/traffic/TrafficRecordingIndex.java +++ b/evita_store/evita_store_server/src/main/java/io/evitadb/store/traffic/TrafficRecordingIndex.java @@ -60,8 +60,6 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; -import static java.util.Optional.ofNullable; - /** * This class contains live, updated in-memory index of the content of the disk ring buffer file. It is used to quickly * locate the position of the session in the file and handle {@link #getSessionStream(TrafficRecordingCaptureRequest)} @@ -493,12 +491,12 @@ public Collection getLabelsNamesOrderedByCardinality(@Nullable String na */ @Nonnull public Collection getLabelValuesOrderedByCardinality(@Nonnull String nameEquals, @Nullable String valueStartingWith, int limit) { - final Iterator>> it = this.labelIndex.greaterOrEqualEntryIterator(new Label(nameEquals, valueStartingWith)); + final Iterator>> it = this.stringLabelIndex.greaterOrEqualEntryIterator(new Label(nameEquals, valueStartingWith)); final ObjectIntMap cardinalities = new ObjectIntHashMap<>(256); while (it.hasNext()) { final Entry> entry = it.next(); final Label nextLabel = entry.key(); - final String valueAsString = ofNullable(nextLabel.value()).map(EvitaDataTypes::formatValue).orElse(""); + final String valueAsString = (String) Objects.requireNonNull(nextLabel.value()); if (nextLabel.name().equals(nameEquals) && (valueStartingWith == null || valueAsString.startsWith(valueStartingWith))) { final int labelCardinality = entry.value().size(); cardinalities.putOrAdd(valueAsString, labelCardinality, labelCardinality);