fgerlits commented on code in PR #2079:
URL: https://github.com/apache/nifi-minifi-cpp/pull/2079#discussion_r2585810849


##########
CONFIGURE.md:
##########
@@ -454,19 +454,28 @@ If a processor is triggered but has no work available, it 
will yield for the con
     # in minifi.properties
     nifi.bored.yield.duration=100 millis
 
-### Graceful shutdown period
+### FlowController drain timeout
 
-It is possible to configure a graceful shutdown period, the period the flow 
controller will wait to unload the flow configuration and stop running 
processors.
+When the flow is stopped, either because of a flow update from C2, a restart 
command from C2, or because MiNiFi is stopped by the operating system,
+MiNiFi stops all source processors (processors without incoming connections) 
first. Next, it waits for all connection queues to become empty, but
+at most the amount of time set in the
 
     # in minifi.properties
-    nifi.flowcontroller.graceful.shutdown.period=30 sec
+    nifi.flowcontroller.drain.timeout=5 sec
 
-### FlowController drain timeout
+property. The default value is zero, i.e., no wait. Finally, it shuts down the 
remaining processors. If there are flow files left in some connection
+queues after the drain timeout, they will be discarded.
 
-Timeout period for finishing processing of flow files in progress when 
shutting down flow controller. When not set we do not wait for flow files to 
finish processing.
+### Graceful shutdown period
+
+When MiNiFi is stopped or restarted, either because of a restart command from 
C2, or because MiNiFi is stopped by the operating system,
+it may wait for connection queues to become empty if 
`nifi.flowcontroller.drain.timeout` is set in `minifi.properties`. You can 
limit this wait
+to a shorter time by setting the
 
     # in minifi.properties
-    nifi.flowcontroller.drain.timeout=500 millis
+    nifi.flowcontroller.graceful.shutdown.period=2 sec
+
+property. By default, the graceful shutdown period property is not set, which 
means the wait is only limited by the drain timeout property.

Review Comment:
   I think it's the minimum of these two (plus some overhead, which is 
negligible) in all cases, including a C2 STOP, except for a flow update. For 
flow updates, only drain.timeout applies, graceful.shutdown.period doesn't.
   
   I did not include C2 STOP in the list of examples, because I don't think 
that is a common use case, unlike flow update, C2 RESTART and termination by 
the OS.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to