[ 
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)

Reply via email to