Mark Payne created NIFI-11237:
---------------------------------

             Summary: Large bulletin messages should be truncated
                 Key: NIFI-11237
                 URL: https://issues.apache.org/jira/browse/NIFI-11237
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Core Framework
            Reporter: Mark Payne


Bulletins are kept in memory for 5 minutes and are returned via the REST API 
whenever a user navigates to a Process Group, etc. Under most conditions, this 
works well. But if a bulletin is particularly large, this can be problematic.

Take, for example, EvaluateJsonPath. There are cases in which it logs an error 
and includes the entire JSON Payload, which can be many MB or more. This is all 
stored in a bulletin currently. This not only uses massive amounts of heap but 
causes very poor UI performance.

Consider a 10-node cluster, in which case each node does this. The Cluster 
Coordinator must then parse all 10 nodes' worth of bulletins, merge them 
together, and re-serialize it. Then, this is transferred to the browser, and 
the browser must then parse the result. This can easily take many seconds, 
causing a very poor user experience.

While we can fix the EvaluateJsonPath processor, it makes more sense to simply 
truncate any large messages on any bulletins, instead of trying to play 
whack-a-mole with specific log messages.

Any bulletin over 1,000 characters (or perhaps 4,000 characters?) should be 
truncated. This will improve resilience and reliability and provide a better 
user experience.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to