You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2022/11/08 17:43:00 UTC

[jira] [Created] (NIFI-10780) Avoid Dropping Events in Listen Processors

David Handermann created NIFI-10780:
---------------------------------------

             Summary: Avoid Dropping Events in Listen Processors
                 Key: NIFI-10780
                 URL: https://issues.apache.org/jira/browse/NIFI-10780
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Extensions
            Reporter: David Handermann
            Assignee: David Handermann


Multiple listening Processors, including {{ListenSyslog}} and {{{}ListenTCP{}}}, depend on the {{nifi-event-transport}} module and the {{NettyEventServer}} to receiving incoming messages. These components use the {{ByteArrayMessageChannelHandler}} to add parsed messages to a configured queue for subsequent processing when the framework triggers the Processor.

{{ListenSyslog}} and {{ListenTCP}} use a {{LinkedBlockingQueue}} with a configurable maximum size as an internal buffer, and {{LinkedBlockingQueue.add()}} throws an {{IllegalStateException}} if the caller attempts to add an element that exceeds the maximum queue size. As a result of this approach, these Processors can drop messages when the maximum queue size is too low.

The supporting {{ByteArrayMessageChannelHandler}} should be improved to call a method other than {{LinkedBlockingQueue.add()}} to avoid dropping messages while waiting for the Processor to handle queued events.



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