Pierre Villard created NIP-32:
---------------------------------
Summary: Per Flow Registry Client sync frequency
Key: NIP-32
URL: https://issues.apache.org/jira/browse/NIP-32
Project: NiFi Improvement Proposal
Issue Type: Improvement
Reporter: Pierre Villard
Since NiFi 2.4.0 and NIFI-14355 we changed the default for the refresh
frequency of versioned process groups from 1 minute to 30 minutes.
Since NiFi 2.6.0 and NIFI-14728 we exposed this value as a NiFi property in the
configuration file.
However we may have cases where multiple flow registry clients are configured
and where it is a legitimate scenario to wish for different sync frequencies.
This NIP is to improve the way things are working and provide the option to
have per flow registry client instance configuration for the frequency at which
versioned processors groups are synced.
The proposal is to add in the AbstractFlowRegistryClient class in nifi-api a
new property descriptor like:
{code:java}
public static final PropertyDescriptor SYNCHRONIZATION_INTERVAL = new
PropertyDescriptor.Builder()
.name("Synchronization Interval")
.description("How often this registry client checks the external registry
for updated versions of flows under version control. "
+ "If not set, the global nifi.flowcontroller.registry.sync.interval is
used.")
.required(false)
.addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
.defaultValue("30 min")
.build(); {code}
Then every implementation is free to expose this property or not. All
implementations in Apache NiFi would expose it.
At FlowController level we would run the thread every one minute and for every
registry client we would check its configuration for the configured frequency
(if not set via the property descriptor, we would fall back to the value set at
NiFi properties level). We would then check when was the last sync and if
enough time elapsed we would sync the versioned process group. We would
maintain a map of registry client ID / last sync. This map would remain very
small as we do not expect more than a few registry clients to be configured.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)