[ 
https://issues.apache.org/jira/browse/NIFI-14599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuanhao Zhu updated NIFI-14599:
-------------------------------
    Description: 
We recently upgrade to nifi 2.4.0 from 1.x and have noticed something weird 
about the parameter provider in 2.x. From time to time, for some reason, the 
parameter provider will complain about invalid revision given when fetching for 
parameters with nifi-cli. Specifically we are using 
AzureKeyvaultParameterProvider. And once this happens, the only way to get rid 
of it is the re-creation of the parameter provider.

See the screenshot 

!https://community.cloudera.com/t5/image/serverpage/image-id/45570i701517E88FD12C48/image-size/large/is-moderation-mode/true?v=v2&px=999!

And it looks like the revision manager was messed up that every time the new 
revision is always one version below, we are running nifi in a standalone mode 
and consecutively triggering of the parameter fetch will constantly get the 
invalid revision(each time the revision is up by 1) until the parameter 
provider is recreated, even restarting nifi won't help. I'm also quite sure 
there is only one person sending request to fetch for parameter and attempt to 
change the parameter provider at the same time so no concurrent operation. 

 

And once this problem happens, fetching parameters from UI also does not work, 
it would just fail silently and the value of the secrets remains unchanged.

 

Also FYI, this never happened in 1.x

 

Another FYI, if we restart the nifi container, it does not go away, and the 
revision number in the complaint will start over from 0

 

Steps to reproduce:
 # Add secrets for multiple groups from the source for the same parameter 
provider. e.g. add one secret where group-name set to a and one secret where 
group-name set to b in Azure keyvault.
 # In Nifi, trigger the existing parameter provider to fetch and update 
parameter

Now you should see that the parameter provider failed to be updated in the logs

 

I think the exact problem is that when there are more than one parameter 
contexts related to one parameter provider ,the update for parameter contexts 
related to a parameter provider is always based on the revision given in the 
request, after the first parameter context update, the other parameter context 
update will still try to make the change based on the outdated revision given 
in the request

  was:
We recently upgrade to nifi 2.4.0 from 1.x and have noticed something weird 
about the parameter provider in 2.x. From time to time, for some reason, the 
parameter provider will complain about invalid revision given when fetching for 
parameters with nifi-cli. Specifically we are using 
AzureKeyvaultParameterProvider. And once this happens, the only way to get rid 
of it is the re-creation of the parameter provider.

See the screenshot 

!https://community.cloudera.com/t5/image/serverpage/image-id/45570i701517E88FD12C48/image-size/large/is-moderation-mode/true?v=v2&px=999!

And it looks like the revision manager was messed up that every time the new 
revision is always one version below, we are running nifi in a standalone mode 
and consecutively triggering of the parameter fetch will constantly get the 
invalid revision(each time the revision is up by 1) until the parameter 
provider is recreated, even restarting nifi won't help. I'm also quite sure 
there is only one person sending request to fetch for parameter and attempt to 
change the parameter provider at the same time so no concurrent operation. 

 

And once this problem happens, fetching parameters from UI also does not work, 
it would just fail silently and the value of the secrets remains unchanged.

 

Also FYI, this never happened in 1.x

 

Another FYI, if we restart the nifi container, it does not go away, and the 
revision number in the complaint will start over from 0

 

Steps to reproduce:
 # Add secrets for multiple groups from the source for the same parameter 
provider. e.g. add one secret where group-name set to a and one secret where 
group-name set to b in Azure keyvault.
 # In Nifi, trigger the existing parameter provider to fetch and update 
parameter

Now you should see that the parameter provider failed to be updated in the logs

 

I think the exact problem is that the update for parameter contexts related to 
a parameter provider is always based on the revision given in the request, 
after the first parameter context update, the other parameter context update 
will still try to make the change based on the outdated revision given in the 
request


> Parameter provider invalid revision issue
> -----------------------------------------
>
>                 Key: NIFI-14599
>                 URL: https://issues.apache.org/jira/browse/NIFI-14599
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 2.1.0, 2.2.0, 2.3.0, 2.4.0
>            Reporter: Yuanhao Zhu
>            Priority: Major
>         Attachments: image-2025-06-02-09-24-01-141.png
>
>
> We recently upgrade to nifi 2.4.0 from 1.x and have noticed something weird 
> about the parameter provider in 2.x. From time to time, for some reason, the 
> parameter provider will complain about invalid revision given when fetching 
> for parameters with nifi-cli. Specifically we are using 
> AzureKeyvaultParameterProvider. And once this happens, the only way to get 
> rid of it is the re-creation of the parameter provider.
> See the screenshot 
> !https://community.cloudera.com/t5/image/serverpage/image-id/45570i701517E88FD12C48/image-size/large/is-moderation-mode/true?v=v2&px=999!
> And it looks like the revision manager was messed up that every time the new 
> revision is always one version below, we are running nifi in a standalone 
> mode and consecutively triggering of the parameter fetch will constantly get 
> the invalid revision(each time the revision is up by 1) until the parameter 
> provider is recreated, even restarting nifi won't help. I'm also quite sure 
> there is only one person sending request to fetch for parameter and attempt 
> to change the parameter provider at the same time so no concurrent operation. 
>  
> And once this problem happens, fetching parameters from UI also does not 
> work, it would just fail silently and the value of the secrets remains 
> unchanged.
>  
> Also FYI, this never happened in 1.x
>  
> Another FYI, if we restart the nifi container, it does not go away, and the 
> revision number in the complaint will start over from 0
>  
> Steps to reproduce:
>  # Add secrets for multiple groups from the source for the same parameter 
> provider. e.g. add one secret where group-name set to a and one secret where 
> group-name set to b in Azure keyvault.
>  # In Nifi, trigger the existing parameter provider to fetch and update 
> parameter
> Now you should see that the parameter provider failed to be updated in the 
> logs
>  
> I think the exact problem is that when there are more than one parameter 
> contexts related to one parameter provider ,the update for parameter contexts 
> related to a parameter provider is always based on the revision given in the 
> request, after the first parameter context update, the other parameter 
> context update will still try to make the change based on the outdated 
> revision given in the request



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to