From 19c9fec7d3250ca9a39723108cc19ac38e855b9f Mon Sep 17 00:00:00 2001 From: Matt Gilman Date: Thu, 7 Jun 2018 13:37:57 -0400 Subject: [PATCH] NIFI-5280: - Preventing duplicate bulletins that are registried under different contexts (e.g. Controller and Component). --- .../apache/nifi/events/VolatileBulletinRepository.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java index 398f8736be48..ad4d69026c59 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java @@ -26,6 +26,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; @@ -115,7 +117,7 @@ public boolean select(final Bulletin bulletin) { } }; - final List selected = new ArrayList<>(); + final Set selected = new TreeSet<>(); int max = bulletinQuery.getLimit() == null ? Integer.MAX_VALUE : bulletinQuery.getLimit(); for (final ConcurrentMap> componentMap : bulletinStoreMap.values()) { @@ -129,10 +131,7 @@ public boolean select(final Bulletin bulletin) { } } - // sort by descending ID - Collections.sort(selected); - - return selected; + return new ArrayList<>(selected); } @Override