Github user brosander commented on a diff in the pull request:
https://github.com/apache/nifi-minifi/pull/51#discussion_r87231306
--- Diff: minifi-docs/src/main/markdown/System_Admin_Guide.md ---
@@ -21,6 +21,102 @@
[MiNiFi Homepage](https://nifi.apache.org/minifi/index.html)
+# Automatic Warm-Redeploy
+
+When many MiNiFi agents running on the edge, it may not be possible to
manually stop, edit the config.yml and then restart every one every time their
configuration needs to change. The Config Change Coordinator and it's Ingestors
were designed to automatically redeploy in response to a configuration update.
+
+The Config Change Ingestors are the means by which the agent is notified
of a potential new configuration. Currently there are three:
+
+ - FileChangeIngestor
+ - RestChangeIngestor
+ - PullHttpChangeIngestor
+
+After a new configuration has been pulled/received the Ingestors use a
Differentiator in order to determine if the currently running config is
different than the new config. Which Differentiator is used, is configurable
for each Ingestor. Currently there is only one Differentiator:
+
+ - WholeConfigDifferentiator: Compares the entire new config with the
currently running one, byte for byte.
+
+After a new config is determined to be new, the MiNiFi agent will attempt
to restart. The bootstrap first saves the old config into a swap file. The
bootstrap monitors the agent as it restarts and if it fails it will roll back
to the old config. If it succeeds then the swap file will be deleted and the
agent will start processing using the new config.
+
+Note: Data left in connections when the agent attempts to restart will
either mapped to a connection with the same ID in the new config, or orphaned
and deleted.
--- End diff --
either mapped -> either be mapped
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---