Skip to content

Instantly share code, notes, and snippets.

@ijokarumawak
Last active February 15, 2022 11:13
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save ijokarumawak/7e6158460cfcb0b5911acefbb455edf0 to your computer and use it in GitHub Desktop.
Save ijokarumawak/7e6158460cfcb0b5911acefbb455edf0 to your computer and use it in GitHub Desktop.
NiFi EnforceOrder example template to sequentially process files by file names.

Process files in order by filename

Result

Without EnforceOrder

e
d
a
c
b

With EnforceOrder

a
b
c
d
e
<?xml version="1.0" ?>
<template encoding-version="1.1">
<description></description>
<groupId>1e8778a8-015c-1000-c747-8273276bab45</groupId>
<name>process-files-in-order-and-defrag</name>
<snippet>
<processGroups>
<id>4794768f-0b48-38d5-0000-000000000000</id>
<parentGroupId>5454b790-94fe-3e28-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>90cf5e5e-2219-3cbe-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>delay</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>960920f8-0269-3831-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>590.4624011230469</x>
<y>681.1499658203127</y>
</bends>
<bends>
<x>590.4624011230469</x>
<y>731.1499658203127</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>wait</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>b0e8113d-c7d5-3856-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>871.994384765625</x>
<y>564.1976928710938</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>unmatched</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>b857c791-0219-37dc-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1258.887451171875</x>
<y>526.6797485351562</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>9faa1321-c3cc-34cb-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>c9a9c26e-329c-366d-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>644.4744262695312</x>
<y>198.43771362304688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>ea10f91c-6016-3ba3-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>9faa1321-c3cc-34cb-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>original</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>6bded177-407d-307e-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f9bd0d72-7a87-3f8f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>enforced order</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fbd3f36b-d94c-3c22-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>257.11444091796875</x>
<y>559.877685546875</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fd87b86b-4133-308b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>6bded177-407d-307e-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>09eb9d33-7092-3241-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>1b9ce251-ffe9-3bad-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-46.72555160522461</x>
<y>715.3976440429688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<selectedRelationships>skipped</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>26008697-3e29-3dfb-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>as it is</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>4cd36d4f-1ebf-388f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>76dc7f59-7a50-3afa-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-0.20548824965953827</x>
<y>875.6776733398438</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
<selectedRelationships>overtook</selectedRelationships>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<funnels>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>553.4790026855469</x>
<y>537.9992700195314</y>
</position>
</funnels>
<labels>
<id>a8fb3445-842f-385b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-134.24544402281845</x>
<y>817.4378804109067</y>
</position>
<height>107.19977569580078</height>
<label>Use FirstInFirstOutPrioritizer</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>254.99993896484375</width>
</labels>
<labels>
<id>b61f8faa-750f-3984-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>109.63459137757218</x>
<y>616.3579853913755</y>
</position>
<height>163.83961486816406</height>
<label>Clear state to rerun the test</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>408.119873046875</width>
</labels>
<labels>
<id>21416e89-b745-3bd8-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>133.19461182434952</x>
<y>169.038054361102</y>
</position>
<height>218.03964233398438</height>
<label>Clear state of EnforceOrder and restart this processor to rerun the test.
Assuming there are files named: file_1.txt file_2.txt .. file_N.txt</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>396.0798034667969</width>
</labels>
<labels>
<id>5304f5c9-c790-3f4a-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>880.6110624368753</x>
<y>-2.6136751239732803</y>
</position>
<height>488.2402038574219</height>
<label>To merge using 'Defragment' generate required fragment attributes.</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>692.0403442382812</width>
</labels>
<processors>
<id>8055e927-4cda-3746-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>698.4799792480469</x>
<y>399.23997741699236</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Routing Strategy</key>
<value>
<name>Routing Strategy</name>
</value>
</entry>
<entry>
<key>delay</key>
<value>
<name>delay</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Routing Strategy</key>
<value>Route to Property name</value>
</entry>
<entry>
<key>delay</key>
<value>${process.order:mod(2):equals(0)}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Simulate delay</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>delay</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.RouteOnAttribute</type>
</processors>
<processors>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-358.679404351508</x>
<y>544.2741712582213</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>false</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>9faa1321-c3cc-34cb-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>1102.0054535519714</x>
<y>317.0149878765267</y>
</position>
<bundle>
<artifact>nifi-update-attribute-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>Store State</key>
<value>
<name>Store State</name>
</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
<value>
<name>Stateful Variables Initial Value</name>
</value>
</entry>
<entry>
<key>fragment.count</key>
<value>
<name>fragment.count</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>Store State</key>
<value>Do not store state</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
</entry>
<entry>
<key>fragment.count</key>
<value>${fragment.count:trim():toNumber()}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>UpdateAttribute</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>741.5022823031273</x>
<y>630.7888684036736</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Defragment</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>5</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>751.6344817050257</x>
<y>811.9577778718442</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>true</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>143.10222737148672</x>
<y>792.1888317825799</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Defragment</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>1</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>169.48000976562503</x>
<y>239.8799768066408</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Input Directory</key>
<value>
<name>Input Directory</name>
</value>
</entry>
<entry>
<key>File Filter</key>
<value>
<name>File Filter</name>
</value>
</entry>
<entry>
<key>Path Filter</key>
<value>
<name>Path Filter</name>
</value>
</entry>
<entry>
<key>Batch Size</key>
<value>
<name>Batch Size</name>
</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>
<name>Keep Source File</name>
</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>
<name>Recurse Subdirectories</name>
</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>
<name>Polling Interval</name>
</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>
<name>Ignore Hidden Files</name>
</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>
<name>Minimum File Age</name>
</value>
</entry>
<entry>
<key>Maximum File Age</key>
<value>
<name>Maximum File Age</name>
</value>
</entry>
<entry>
<key>Minimum File Size</key>
<value>
<name>Minimum File Size</name>
</value>
</entry>
<entry>
<key>Maximum File Size</key>
<value>
<name>Maximum File Size</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Input Directory</key>
<value>/tmp/files</value>
</entry>
<entry>
<key>File Filter</key>
<value>[^\.].*</value>
</entry>
<entry>
<key>Path Filter</key>
</entry>
<entry>
<key>Batch Size</key>
<value>10</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>true</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>true</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>0 sec</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>true</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>0 sec</value>
</entry>
<entry>
<key>Maximum File Age</key>
</entry>
<entry>
<key>Minimum File Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum File Size</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>1d</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>GetFile</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#4986d6</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.GetFile</type>
</processors>
<processors>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>135.4624011230469</x>
<y>641.1499658203127</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>group-id</key>
<value>
<name>group-id</name>
</value>
</entry>
<entry>
<key>order-attribute</key>
<value>
<name>order-attribute</name>
</value>
</entry>
<entry>
<key>initial-order</key>
<value>
<name>initial-order</name>
</value>
</entry>
<entry>
<key>maximum-order</key>
<value>
<name>maximum-order</name>
</value>
</entry>
<entry>
<key>batch-count</key>
<value>
<name>batch-count</name>
</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>
<name>wait-timeout</name>
</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>
<name>inactive-timeout</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>group-id</key>
<value>${absolute.path}</value>
</entry>
<entry>
<key>order-attribute</key>
<value>process.order</value>
</entry>
<entry>
<key>initial-order</key>
<value>1</value>
</entry>
<entry>
<key>maximum-order</key>
</entry>
<entry>
<key>batch-count</key>
<value>1000</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>10 min</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>30 min</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>EnforceOrder</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>overtook</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>skipped</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>wait</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#44c718</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.EnforceOrder</type>
</processors>
<processors>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>539.7600695800782</x>
<y>240.4399896240236</y>
</position>
<bundle>
<artifact>nifi-update-attribute-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>Store State</key>
<value>
<name>Store State</name>
</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
<value>
<name>Stateful Variables Initial Value</name>
</value>
</entry>
<entry>
<key>fragment.identifier</key>
<value>
<name>fragment.identifier</name>
</value>
</entry>
<entry>
<key>fragment.index</key>
<value>
<name>fragment.index</name>
</value>
</entry>
<entry>
<key>process.order</key>
<value>
<name>process.order</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>Store State</key>
<value>Do not store state</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
</entry>
<entry>
<key>fragment.identifier</key>
<value>${absolute.path}</value>
</entry>
<entry>
<key>fragment.index</key>
<value>${filename:replaceAll('file_([\\d]+).txt', '$1')}</value>
</entry>
<entry>
<key>process.order</key>
<value>${filename:replaceAll('file_([\\d]+).txt', '$1')}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Analyze process.order</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>6bded177-407d-307e-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>912.942106778291</x>
<y>51.71001604313528</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Command Arguments</key>
<value>
<name>Command Arguments</name>
</value>
</entry>
<entry>
<key>Command Path</key>
<value>
<name>Command Path</name>
</value>
</entry>
<entry>
<key>Ignore STDIN</key>
<value>
<name>Ignore STDIN</name>
</value>
</entry>
<entry>
<key>Working Directory</key>
<value>
<name>Working Directory</name>
</value>
</entry>
<entry>
<key>Argument Delimiter</key>
<value>
<name>Argument Delimiter</name>
</value>
</entry>
<entry>
<key>Output Destination Attribute</key>
<value>
<name>Output Destination Attribute</name>
</value>
</entry>
<entry>
<key>Max Attribute Length</key>
<value>
<name>Max Attribute Length</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Command Arguments</key>
<value>-c;ls ${absolute.path} | wc -w |awk '{print $1}'</value>
</entry>
<entry>
<key>Command Path</key>
<value>/bin/sh</value>
</entry>
<entry>
<key>Ignore STDIN</key>
<value>true</value>
</entry>
<entry>
<key>Working Directory</key>
</entry>
<entry>
<key>Argument Delimiter</key>
<value>;</value>
</entry>
<entry>
<key>Output Destination Attribute</key>
<value>fragment.count</value>
</entry>
<entry>
<key>Max Attribute Length</key>
<value>256</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>ExecuteStreamCommand</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ExecuteStreamCommand</type>
</processors>
<processors>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>86.79998657226565</x>
<y>397.5600000000002</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Rate Control Criteria</key>
<value>
<name>Rate Control Criteria</name>
</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>
<name>Maximum Rate</name>
</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
<value>
<name>Rate Controlled Attribute</name>
</value>
</entry>
<entry>
<key>Time Duration</key>
<value>
<name>Time Duration</name>
</value>
</entry>
<entry>
<key>Grouping Attribute</key>
<value>
<name>Grouping Attribute</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Rate Control Criteria</key>
<value>flowfile count</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>1</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
</entry>
<entry>
<key>Time Duration</key>
<value>5 sec</value>
</entry>
<entry>
<key>Grouping Attribute</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Limit 1 FlowFile / 5 sec</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ControlRate</type>
</processors>
</contents>
<name>process files in order</name>
</processGroups>
</snippet>
<timestamp>05/19/2017 19:45:40 JST</timestamp>
</template>
<?xml version="1.0" ?>
<template encoding-version="1.1">
<description></description>
<groupId>1e8778a8-015c-1000-c747-8273276bab45</groupId>
<name>process-files-in-order</name>
<snippet>
<processGroups>
<id>4794768f-0b48-38d5-0000-000000000000</id>
<parentGroupId>5454b790-94fe-3e28-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>90cf5e5e-2219-3cbe-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>delay</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>960920f8-0269-3831-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>590.4624011230469</x>
<y>681.1499658203127</y>
</bends>
<bends>
<x>590.4624011230469</x>
<y>731.1499658203127</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>wait</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>b0e8113d-c7d5-3856-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>871.994384765625</x>
<y>564.1976928710938</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>unmatched</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>c9a9c26e-329c-366d-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>644.4744262695312</x>
<y>198.43771362304688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f9bd0d72-7a87-3f8f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>enforced order</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fbd3f36b-d94c-3c22-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>257.11444091796875</x>
<y>559.877685546875</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fd87b86b-4133-308b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1028.954345703125</x>
<y>313.6376953125</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>09eb9d33-7092-3241-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>1b9ce251-ffe9-3bad-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-46.72555160522461</x>
<y>715.3976440429688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<selectedRelationships>skipped</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>26008697-3e29-3dfb-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>as it is</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>4cd36d4f-1ebf-388f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>76dc7f59-7a50-3afa-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-0.20548824965953827</x>
<y>875.6776733398438</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
<selectedRelationships>overtook</selectedRelationships>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<funnels>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>553.4790026855469</x>
<y>537.9992700195314</y>
</position>
</funnels>
<labels>
<id>a8fb3445-842f-385b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-134.24544402281845</x>
<y>817.4378804109067</y>
</position>
<height>107.19977569580078</height>
<label>Use FirstInFirstOutPrioritizer</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>254.99993896484375</width>
</labels>
<labels>
<id>b61f8faa-750f-3984-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>109.63459137757218</x>
<y>616.3579853913755</y>
</position>
<height>163.83961486816406</height>
<label>Clear state to rerun the test</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>408.119873046875</width>
</labels>
<labels>
<id>21416e89-b745-3bd8-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>133.19461182434952</x>
<y>169.038054361102</y>
</position>
<height>218.03964233398438</height>
<label>Clear state of EnforceOrder and restart this processor to rerun the test.
Assuming there are files named: file_1.txt file_2.txt .. file_N.txt</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>396.0798034667969</width>
</labels>
<processors>
<id>8055e927-4cda-3746-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>698.4799792480469</x>
<y>399.23997741699236</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Routing Strategy</key>
<value>
<name>Routing Strategy</name>
</value>
</entry>
<entry>
<key>delay</key>
<value>
<name>delay</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Routing Strategy</key>
<value>Route to Property name</value>
</entry>
<entry>
<key>delay</key>
<value>${process.order:mod(2):equals(0)}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Simulate delay</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>delay</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.RouteOnAttribute</type>
</processors>
<processors>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-358.679404351508</x>
<y>544.2741712582213</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>false</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>741.5022823031273</x>
<y>630.7888684036736</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Bin-Packing Algorithm</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>5</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>751.6344817050257</x>
<y>811.9577778718442</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>true</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>143.10222737148672</x>
<y>792.1888317825799</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Bin-Packing Algorithm</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>5</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>169.48000976562503</x>
<y>239.8799768066408</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Input Directory</key>
<value>
<name>Input Directory</name>
</value>
</entry>
<entry>
<key>File Filter</key>
<value>
<name>File Filter</name>
</value>
</entry>
<entry>
<key>Path Filter</key>
<value>
<name>Path Filter</name>
</value>
</entry>
<entry>
<key>Batch Size</key>
<value>
<name>Batch Size</name>
</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>
<name>Keep Source File</name>
</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>
<name>Recurse Subdirectories</name>
</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>
<name>Polling Interval</name>
</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>
<name>Ignore Hidden Files</name>
</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>
<name>Minimum File Age</name>
</value>
</entry>
<entry>
<key>Maximum File Age</key>
<value>
<name>Maximum File Age</name>
</value>
</entry>
<entry>
<key>Minimum File Size</key>
<value>
<name>Minimum File Size</name>
</value>
</entry>
<entry>
<key>Maximum File Size</key>
<value>
<name>Maximum File Size</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Input Directory</key>
<value>/tmp/files</value>
</entry>
<entry>
<key>File Filter</key>
<value>[^\.].*</value>
</entry>
<entry>
<key>Path Filter</key>
</entry>
<entry>
<key>Batch Size</key>
<value>10</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>true</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>true</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>0 sec</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>true</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>0 sec</value>
</entry>
<entry>
<key>Maximum File Age</key>
</entry>
<entry>
<key>Minimum File Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum File Size</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>1d</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>GetFile</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#4986d6</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.GetFile</type>
</processors>
<processors>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>135.4624011230469</x>
<y>641.1499658203127</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>group-id</key>
<value>
<name>group-id</name>
</value>
</entry>
<entry>
<key>order-attribute</key>
<value>
<name>order-attribute</name>
</value>
</entry>
<entry>
<key>initial-order</key>
<value>
<name>initial-order</name>
</value>
</entry>
<entry>
<key>maximum-order</key>
<value>
<name>maximum-order</name>
</value>
</entry>
<entry>
<key>batch-count</key>
<value>
<name>batch-count</name>
</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>
<name>wait-timeout</name>
</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>
<name>inactive-timeout</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>group-id</key>
<value>${absolute.path}</value>
</entry>
<entry>
<key>order-attribute</key>
<value>process.order</value>
</entry>
<entry>
<key>initial-order</key>
<value>1</value>
</entry>
<entry>
<key>maximum-order</key>
</entry>
<entry>
<key>batch-count</key>
<value>1000</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>10 min</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>30 min</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>EnforceOrder</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>overtook</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>skipped</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>wait</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#44c718</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.EnforceOrder</type>
</processors>
<processors>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>539.7600695800782</x>
<y>240.4399896240236</y>
</position>
<bundle>
<artifact>nifi-update-attribute-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>Store State</key>
<value>
<name>Store State</name>
</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
<value>
<name>Stateful Variables Initial Value</name>
</value>
</entry>
<entry>
<key>process.order</key>
<value>
<name>process.order</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>Store State</key>
<value>Do not store state</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
</entry>
<entry>
<key>process.order</key>
<value>${filename:replaceAll('file_([\\d]+).txt', '$1')}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Analyze process.order</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>86.79998657226565</x>
<y>397.5600000000002</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Rate Control Criteria</key>
<value>
<name>Rate Control Criteria</name>
</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>
<name>Maximum Rate</name>
</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
<value>
<name>Rate Controlled Attribute</name>
</value>
</entry>
<entry>
<key>Time Duration</key>
<value>
<name>Time Duration</name>
</value>
</entry>
<entry>
<key>Grouping Attribute</key>
<value>
<name>Grouping Attribute</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Rate Control Criteria</key>
<value>flowfile count</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>1</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
</entry>
<entry>
<key>Time Duration</key>
<value>5 sec</value>
</entry>
<entry>
<key>Grouping Attribute</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Limit 1 FlowFile / 5 sec</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ControlRate</type>
</processors>
</contents>
<name>process files in order</name>
</processGroups>
</snippet>
<timestamp>05/19/2017 17:27:44 JST</timestamp>
</template>
<?xml version="1.0" ?>
<template encoding-version="1.1">
<description></description>
<groupId>1e8778a8-015c-1000-c747-8273276bab45</groupId>
<name>process-in-order-and-defrag-with-groovy</name>
<snippet>
<processGroups>
<id>4794768f-0b48-38d5-0000-000000000000</id>
<parentGroupId>5454b790-94fe-3e28-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>90cf5e5e-2219-3cbe-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>delay</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>960920f8-0269-3831-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>590.4624011230469</x>
<y>681.1499658203127</y>
</bends>
<bends>
<x>590.4624011230469</x>
<y>731.1499658203127</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>wait</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>b0e8113d-c7d5-3856-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>871.994384765625</x>
<y>564.1976928710938</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>unmatched</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>c9a9c26e-329c-366d-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>644.4744262695312</x>
<y>198.43771362304688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f9bd0d72-7a87-3f8f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>enforced order</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fbd3f36b-d94c-3c22-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>257.11444091796875</x>
<y>559.877685546875</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fd87b86b-4133-308b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1006.819091796875</x>
<y>204.55657958984375</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>bd241ff2-14ec-3a4c-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>09eb9d33-7092-3241-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>1b9ce251-ffe9-3bad-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-46.72555160522461</x>
<y>715.3976440429688</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>failure</selectedRelationships>
<selectedRelationships>skipped</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>26008697-3e29-3dfb-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name>as it is</name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>38492dd7-52a8-3732-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>1173.1846923828125</x>
<y>467.0127258300781</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>8055e927-4cda-3746-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>bd241ff2-14ec-3a4c-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>4cd36d4f-1ebf-388f-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<type>FUNNEL</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>76dc7f59-7a50-3afa-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<bends>
<x>-0.20548824965953827</x>
<y>875.6776733398438</y>
</bends>
<destination>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>0</labelIndex>
<name></name>
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
<selectedRelationships>overtook</selectedRelationships>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>4794768f-0b48-38d5-0000-000000000000</groupId>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<funnels>
<id>b2f815f9-8f85-33e6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>553.4790026855469</x>
<y>537.9992700195314</y>
</position>
</funnels>
<labels>
<id>a8fb3445-842f-385b-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-134.24544402281845</x>
<y>817.4378804109067</y>
</position>
<height>107.19977569580078</height>
<label>Use FirstInFirstOutPrioritizer</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>254.99993896484375</width>
</labels>
<labels>
<id>b61f8faa-750f-3984-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>109.63459137757218</x>
<y>616.3579853913755</y>
</position>
<height>163.83961486816406</height>
<label>Clear state to rerun the test</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>408.119873046875</width>
</labels>
<labels>
<id>21416e89-b745-3bd8-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>133.19461182434952</x>
<y>169.038054361102</y>
</position>
<height>218.03964233398438</height>
<label>Clear state of EnforceOrder and restart this processor to rerun the test.
Assuming there are files named: file_1.txt file_2.txt .. file_N.txt</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>396.0798034667969</width>
</labels>
<labels>
<id>5304f5c9-c790-3f4a-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>876.3084501321878</x>
<y>136.50241374321422</y>
</position>
<height>255.93260192871094</height>
<label>To merge using 'Defragment' generate required fragment attributes.</label>
<style>
<entry>
<key>font-size</key>
<value>12px</value>
</entry>
</style>
<width>431.6898193359375</width>
</labels>
<processors>
<id>8055e927-4cda-3746-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>698.4799792480469</x>
<y>399.23997741699236</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Routing Strategy</key>
<value>
<name>Routing Strategy</name>
</value>
</entry>
<entry>
<key>delay</key>
<value>
<name>delay</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Routing Strategy</key>
<value>Route to Property name</value>
</entry>
<entry>
<key>delay</key>
<value>${process.order:mod(2):equals(0)}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Simulate delay</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>delay</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.RouteOnAttribute</type>
</processors>
<processors>
<id>8aa88508-178b-31f9-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>-358.679404351508</x>
<y>544.2741712582213</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>false</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>a29b236e-613e-38a6-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>741.5022823031273</x>
<y>630.7888684036736</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Defragment</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>5</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>b88f3b51-0a3f-3b42-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>751.6344817050257</x>
<y>811.9577778718442</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Log Level</key>
<value>
<name>Log Level</name>
</value>
</entry>
<entry>
<key>Log Payload</key>
<value>
<name>Log Payload</name>
</value>
</entry>
<entry>
<key>Attributes to Log</key>
<value>
<name>Attributes to Log</name>
</value>
</entry>
<entry>
<key>Attributes to Ignore</key>
<value>
<name>Attributes to Ignore</name>
</value>
</entry>
<entry>
<key>Log prefix</key>
<value>
<name>Log prefix</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Log Level</key>
<value>info</value>
</entry>
<entry>
<key>Log Payload</key>
<value>true</value>
</entry>
<entry>
<key>Attributes to Log</key>
</entry>
<entry>
<key>Attributes to Ignore</key>
</entry>
<entry>
<key>Log prefix</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>LogAttribute</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.LogAttribute</type>
</processors>
<processors>
<id>bd241ff2-14ec-3a4c-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>922.5491860366701</x>
<y>244.59122772147362</y>
</position>
<bundle>
<artifact>nifi-scripting-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Script Engine</key>
<value>
<name>Script Engine</name>
</value>
</entry>
<entry>
<key>Script File</key>
<value>
<name>Script File</name>
</value>
</entry>
<entry>
<key>Script Body</key>
<value>
<name>Script Body</name>
</value>
</entry>
<entry>
<key>Module Directory</key>
<value>
<name>Module Directory</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Script Engine</key>
<value>Groovy</value>
</entry>
<entry>
<key>Script File</key>
</entry>
<entry>
<key>Script Body</key>
<value>FlowFile flowFile = session.get()
if (flowFile == null) {
return;
}
def path = flowFile.getAttribute("absolute.path")
def files = []
new File(path).eachFile {file -&gt; files &lt;&lt; file}
flowFile = session.putAttribute(flowFile, 'fragment.count', String.valueOf(files.size()))
session.transfer(flowFile, REL_SUCCESS)</value>
</entry>
<entry>
<key>Module Directory</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>ExecuteScript</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.script.ExecuteScript</type>
</processors>
<processors>
<id>cde76b99-15b4-3757-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>143.10222737148672</x>
<y>792.1888317825799</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Merge Strategy</key>
<value>Defragment</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>1</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>1000</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Filename</value>
</entry>
<entry>
<key>Header File</key>
</entry>
<entry>
<key>Footer File</key>
</entry>
<entry>
<key>Demarcator File</key>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Merge to debug</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>d6c1d2f3-7230-3603-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>169.48000976562503</x>
<y>239.8799768066408</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Input Directory</key>
<value>
<name>Input Directory</name>
</value>
</entry>
<entry>
<key>File Filter</key>
<value>
<name>File Filter</name>
</value>
</entry>
<entry>
<key>Path Filter</key>
<value>
<name>Path Filter</name>
</value>
</entry>
<entry>
<key>Batch Size</key>
<value>
<name>Batch Size</name>
</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>
<name>Keep Source File</name>
</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>
<name>Recurse Subdirectories</name>
</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>
<name>Polling Interval</name>
</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>
<name>Ignore Hidden Files</name>
</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>
<name>Minimum File Age</name>
</value>
</entry>
<entry>
<key>Maximum File Age</key>
<value>
<name>Maximum File Age</name>
</value>
</entry>
<entry>
<key>Minimum File Size</key>
<value>
<name>Minimum File Size</name>
</value>
</entry>
<entry>
<key>Maximum File Size</key>
<value>
<name>Maximum File Size</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Input Directory</key>
<value>/tmp/files</value>
</entry>
<entry>
<key>File Filter</key>
<value>[^\.].*</value>
</entry>
<entry>
<key>Path Filter</key>
</entry>
<entry>
<key>Batch Size</key>
<value>10</value>
</entry>
<entry>
<key>Keep Source File</key>
<value>true</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>true</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>0 sec</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>true</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>0 sec</value>
</entry>
<entry>
<key>Maximum File Age</key>
</entry>
<entry>
<key>Minimum File Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum File Size</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>1d</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>GetFile</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#4986d6</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.GetFile</type>
</processors>
<processors>
<id>075256cc-6ac5-3026-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>135.4624011230469</x>
<y>641.1499658203127</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>group-id</key>
<value>
<name>group-id</name>
</value>
</entry>
<entry>
<key>order-attribute</key>
<value>
<name>order-attribute</name>
</value>
</entry>
<entry>
<key>initial-order</key>
<value>
<name>initial-order</name>
</value>
</entry>
<entry>
<key>maximum-order</key>
<value>
<name>maximum-order</name>
</value>
</entry>
<entry>
<key>batch-count</key>
<value>
<name>batch-count</name>
</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>
<name>wait-timeout</name>
</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>
<name>inactive-timeout</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>group-id</key>
<value>${absolute.path}</value>
</entry>
<entry>
<key>order-attribute</key>
<value>process.order</value>
</entry>
<entry>
<key>initial-order</key>
<value>1</value>
</entry>
<entry>
<key>maximum-order</key>
</entry>
<entry>
<key>batch-count</key>
<value>1000</value>
</entry>
<entry>
<key>wait-timeout</key>
<value>10 min</value>
</entry>
<entry>
<key>inactive-timeout</key>
<value>30 min</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>EnforceOrder</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>overtook</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>skipped</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>wait</name>
</relationships>
<style>
<entry>
<key>background-color</key>
<value>#44c718</value>
</entry>
</style>
<type>org.apache.nifi.processors.standard.EnforceOrder</type>
</processors>
<processors>
<id>499a61d8-4681-3c8c-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>539.7600695800782</x>
<y>240.4399896240236</y>
</position>
<bundle>
<artifact>nifi-update-attribute-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>Store State</key>
<value>
<name>Store State</name>
</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
<value>
<name>Stateful Variables Initial Value</name>
</value>
</entry>
<entry>
<key>fragment.identifier</key>
<value>
<name>fragment.identifier</name>
</value>
</entry>
<entry>
<key>fragment.index</key>
<value>
<name>fragment.index</name>
</value>
</entry>
<entry>
<key>process.order</key>
<value>
<name>process.order</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>Store State</key>
<value>Do not store state</value>
</entry>
<entry>
<key>Stateful Variables Initial Value</key>
</entry>
<entry>
<key>fragment.identifier</key>
<value>${absolute.path}</value>
</entry>
<entry>
<key>fragment.index</key>
<value>${filename:replaceAll('file_([\\d]+).txt', '$1')}</value>
</entry>
<entry>
<key>process.order</key>
<value>${filename:replaceAll('file_([\\d]+).txt', '$1')}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Analyze process.order</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>7ed71add-85b0-387e-0000-000000000000</id>
<parentGroupId>4794768f-0b48-38d5-0000-000000000000</parentGroupId>
<position>
<x>86.79998657226565</x>
<y>397.5600000000002</y>
</position>
<bundle>
<artifact>nifi-standard-nar</artifact>
<group>org.apache.nifi</group>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Rate Control Criteria</key>
<value>
<name>Rate Control Criteria</name>
</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>
<name>Maximum Rate</name>
</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
<value>
<name>Rate Controlled Attribute</name>
</value>
</entry>
<entry>
<key>Time Duration</key>
<value>
<name>Time Duration</name>
</value>
</entry>
<entry>
<key>Grouping Attribute</key>
<value>
<name>Grouping Attribute</name>
</value>
</entry>
</descriptors>
<executionNode>ALL</executionNode>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Rate Control Criteria</key>
<value>flowfile count</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>1</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
</entry>
<entry>
<key>Time Duration</key>
<value>5 sec</value>
</entry>
<entry>
<key>Grouping Attribute</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>Limit 1 FlowFile / 5 sec</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ControlRate</type>
</processors>
</contents>
<name>process files in order</name>
</processGroups>
</snippet>
<timestamp>05/22/2017 11:26:03 JST</timestamp>
</template>
@onlineaddy
Copy link

Would you please explain why you introduced a delay before the EnforceOrder? Is that necessary to get EnforceOrder to work correctly? I ask because I'm getting inconsistent behaviors from EnforceOrder without a simulated delay. Thanks.

@jpierre
Copy link

jpierre commented May 18, 2020

Hello, please could you help me? What about if we get files that doesn't begins like 1,2,3. for example group of files with these values 297,298,299,300,301?

@ijokarumawak
Copy link
Author

Hi @onlineaddy the purpose of the delay is to randomize the order of FlowFiles, so that it will be clear what the final result with or without EnforceOrder. A common pitfall of EnforceOrder is not using FIFOPrioritizer at each downstream connections. Please take a look on EnforceOrder doc.

@ijokarumawak
Copy link
Author

Hi @jpierre in that case, somehow you need to tell EnforceOrder that 297 is the initial order. It depends how you get those FlowFiles.

@jpierre
Copy link

jpierre commented May 21, 2020

Hi @jpierre in that case, somehow you need to tell EnforceOrder that 297 is the initial order. It depends how you get those FlowFiles.

Hello @ijokarumawak, really thanks to answer! but what about if i don't know whats the initial number. Let's take a look the complete business case:

Every day we recieve on a S3 bucket a group of files corresponding to various days with this format. YYYYMMDD.csv. For example i can recieve 3 files like 20200515,20200516,20200517, after that it's supposed i process all files and delete all files, the next day again i recieve multiple files and that could be different days. For example 2 files more like 20200430,20200501. Please help me to think how to resolve this scenario

@ijokarumawak
Copy link
Author

@jpierre In that case, I'd use PriorityPrioritizer to control priority at each connection. You can copy filename attribute to priority attribute using UpdateAttribute processor. Then if multiple FlowFiles are queued up in a connection that uses PriorityPrioritizer, the oldest date filename will be processed first.

Also, if you need to process those files one by one strictly within a particular area of your data-flow, then Wait/Notify processors may be helpful as well. Here is an example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment