Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 3

...

It would also be possible to have both an APPLY and an APPLY AND FETCH button in the Add Parameter Provider view.  The former would apply the configuration changes and close the dialog, and the latter would apply the changes, close the dialog, and then launch the fetch/apply sequence described above.

Cluster Integrity for Parameters

The Refresh operation must detect when parameters might be different between nodes in the cluster.  Consider the case where an Environment Variable is updated on the system of only one running node.  If the node restarts, due to the parameter cache, all parameters would still be synchronized among the cluster.  However, if the Fetch Parameters button is used, the parameters for that node would be out of sync with the rest of the cluster unless the Fetch operation detected such differences.  A discrepancy should cause the Fetch to fail with a useful warning to the user, who could then ensure all Environment variables were in sync before attempting another refresh.

Opt-in Auto-refresh

To remove the need for manually refreshing Parameter Providers in order to apply external changes (as in the case of password rotation), an auto-refresh feature could be configured on the Add/Update Parameter Provider view.  This should be disabled by default, and a clear warning should be displayed when enabled, indicating that an updated value would automatically stop and start processors and controller services in the flow.

...

  • Parameter Providers would be serialized in downloaded Flow Definition JSON format only with their identifier, name, type, and bundle, but no configuration.
  • References to Parameter Providers within Parameter Contexts would be stored by identifier (see below for a similar example)
  • When reconstituting a flow from Flow Definition JSON, the framework would attempt to look up a Parameter Provider by first identifier, and then by name if no matching identifier is found.  If even the name is not found, a new unconfigured Parameter Provider should be created with the serialized name, type, and bundle, and it would have to be manually or programmatically configured.

Here is an example of externalControllerServices being referenced as today:

...