[
https://issues.apache.org/jira/browse/NIP-32?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre Villard reassigned NIP-32:
---------------------------------
Assignee: Pierre Villard
> 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
> Assignee: Pierre Villard
> Priority: Major
>
> 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)