<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Thoughts on NiFi error handling in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Thoughts-on-NiFi-error-handling/m-p/236702#M198515</link>
    <description>&lt;P&gt;Hey guys!&lt;/P&gt;&lt;P&gt;Hope you are having a good day!&lt;BR /&gt;&lt;BR /&gt;I have a couple of questions regarding error handling in nifi. I found following links to be very useful to learn more about nifi error handling :&lt;/P&gt;&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.hortonworks.com/questions/77336/nifi-best-practices-for-error-handling.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://community.hortonworks.com/questions/77336/nifi-best-practices-for-error-handling.html&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://community.hortonworks.com/articles/76598/nifi-error-handling-design-pattern-1.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://community.hortonworks.com/articles/76598/nifi-error-handling-design-pattern-1.html&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://pierrevillard.com/2017/05/11/monitoring-nifi-introduction/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://pierrevillard.com/2017/05/11/monitoring-nifi-introduction/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;So regarding error handling there seem to be two general ways to go:&lt;/P&gt;&lt;UL&gt;
&lt;LI&gt;flows that you want to retry&lt;/LI&gt;&lt;LI&gt;flows that you don't want to retry&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Flows that you want to retry&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Count the number of retries and if a certain number of retries is reached send an email to the admin. After that wait by using a disabled processor:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/legacyfs/online/attachments/93706-screenshot-from-2018-11-22-14-12-33.png" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93706-screenshot-from-2018-11-22-14-12-33.png" style="width: 739px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14348i5A9457EC2241BB58/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93706-screenshot-from-2018-11-22-14-12-33.png" alt="93706-screenshot-from-2018-11-22-14-12-33.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Flows that you don't want to retry&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;No need to count here, simply send an email and wait for the admin to fix the problem.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/legacyfs/online/attachments/93707-screenshot-from-2018-11-22-14-14-05.png" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93707-screenshot-from-2018-11-22-14-14-05.png" style="width: 419px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14349i1F508151B7A204A1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93707-screenshot-from-2018-11-22-14-14-05.png" alt="93707-screenshot-from-2018-11-22-14-14-05.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In both cases, we do not want to drop data that is routed to e.g. failure. Instead we route the data to a disabled processor, to queue it. After fixing the problem, the admin can enable the processor and the data can be processed again. Here is full example (a flow to retrieve an authentication token)&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/legacyfs/online/attachments/93708-screenshot-from-2018-11-22-14-19-15.png" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93708-screenshot-from-2018-11-22-14-19-15.png" style="width: 1477px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14350i571817CD60618398/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93708-screenshot-from-2018-11-22-14-19-15.png" alt="93708-screenshot-from-2018-11-22-14-19-15.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;What are your thoughts on that? Do you think this kind of error handling is correct/ or can be improved? What bothers me is, that the ERROR process group will be all over the place. However I do not see any way to centralize it (since we have to deal with each failure flow individually, in order not to loose data).&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/legacyfs/online/attachments/93708-screenshot-from-2018-11-22-14-19-15.png" target="_blank"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93708-screenshot-from-2018-11-22-14-19-15.png" style="width: 1477px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14351i5F161D5695B8DCC8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93708-screenshot-from-2018-11-22-14-19-15.png" alt="93708-screenshot-from-2018-11-22-14-19-15.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93707-screenshot-from-2018-11-22-14-14-05.png" style="width: 419px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14352iDF9E9433E4E5D798/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93707-screenshot-from-2018-11-22-14-14-05.png" alt="93707-screenshot-from-2018-11-22-14-14-05.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/legacyfs/online/attachments/93706-screenshot-from-2018-11-22-14-12-33.png" target="_blank"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="93706-screenshot-from-2018-11-22-14-12-33.png" style="width: 739px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/14353iD213E94C9DB7B752/image-size/medium?v=v2&amp;amp;px=400" role="button" title="93706-screenshot-from-2018-11-22-14-12-33.png" alt="93706-screenshot-from-2018-11-22-14-12-33.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 17 Aug 2019 23:28:48 GMT</pubDate>
    <dc:creator>artworkad</dc:creator>
    <dc:date>2019-08-17T23:28:48Z</dc:date>
  </channel>
</rss>

