This is an automated email from the ASF dual-hosted git repository.

markap14 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 6cffc78ad2 NIFI-12025: Fixed duplicated bulletin messages (#7670)
6cffc78ad2 is described below

commit 6cffc78ad225c4b6228cbc78564d6029fb470ed2
Author: Peter Turcsanyi <[email protected]>
AuthorDate: Fri Sep 8 19:16:44 2023 +0200

    NIFI-12025: Fixed duplicated bulletin messages (#7670)
---
 .../nifi/logging/repository/StandardLogRepository.java |  1 +
 .../apache/nifi/logging/TestStandardLogRepository.java | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
index f7cefdc452..127e14756f 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
@@ -127,6 +127,7 @@ public class StandardLogRepository implements LogRepository 
{
         try {
             final Set<LogObserver> observersCopy = new HashSet<>(observers);
             observers.clear();
+            observersPerLogLevel.clear();
 
             for (final LogObserver observer : observersCopy) {
                 addObserver(level, observer);
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/logging/TestStandardLogRepository.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/logging/TestStandardLogRepository.java
index 84e936acd5..3ebf090e99 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/logging/TestStandardLogRepository.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/logging/TestStandardLogRepository.java
@@ -66,11 +66,27 @@ public class TestStandardLogRepository {
         MockFlowFile mockFlowFile1 = new MockFlowFile(1L);
         MockFlowFile mockFlowFile2 = new MockFlowFile(2L);
 
-        repo.addLogMessage(LogLevel.INFO, "Testing {} {} flowfiles are not 
being shown in exception message", new Object[]{mockFlowFile1, mockFlowFile2});
+        repo.addLogMessage(LogLevel.INFO, "Testing {} {} FlowFiles are not 
being shown in exception message", new Object[]{mockFlowFile1, mockFlowFile2});
 
         assertNull(observer.getMessages().get(0).getFlowFileUuid());
     }
 
+    @Test
+    public void testLogRepositoryAfterLogLevelChange() {
+        StandardLogRepository repo = new StandardLogRepository();
+        MockLogObserver observer = new MockLogObserver();
+        repo.addObserver(LogLevel.ERROR, observer);
+
+        repo.setObservationLevel(LogLevel.ERROR);
+
+        IOException exception = new IOException("exception");
+
+        repo.addLogMessage(LogLevel.ERROR, "Testing {} to get exception 
message <{}>", new Object[]{observer.getClass().getName(), exception});
+
+        assertEquals(1, observer.getMessages().size());
+        assertEquals("Testing 
org.apache.nifi.logging.TestStandardLogRepository$MockLogObserver to get 
exception message <exception>", observer.getMessages().get(0).getMessage());
+    }
+
     private static class MockLogObserver implements LogObserver {
         private final List<LogMessage> messages = new ArrayList<>();
 

Reply via email to