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

Eric Secules updated NIFI-7363:
-------------------------------
    Description: 
I am noticing that when I delete a parameter from a parameter context in NiFi a 
number of strange things result.
 * It doesn't register as a change that I can commit to the registry (the 
process group still has the green check mark)
 * When I do make a change and commit to the registry, the deleted parameter 
remains there and will be downloaded by anyone downloading the latest version 
of the flow.
 * When I look into the registry's file system, at the bottom of the .snapshot 
files I notice that each individual process group has a listing of parameters 
and their values each with slight differences from eachother. This is weird 
because the documentation says that parameter contexts are global so I was 
expecting a single parameter context entity somewhere.

What I expect to happen:
 * When I delete or modify the value of a parameter I should be able to check 
that in in a versioned way so that newer process group versions see the changes 
but older versions do not.
 * I expected that since parameter contexts are independent of process groups, 
that they would be versioned independently of process groups.

 
 I have noticed that the parameter context gets bloated with a bunch of 
parameters that have no users and no way to delete them after doing a big 
renaming effort.

 

Initial Investigation:
 * When I create and version a single process group which is the only user of a 
parameter context everything behaves as expected. Deleted parameters stay 
deleted and latest values arrive when re-importing the latest version of the 
process group.
 * When there are *two versioned process groups that share a single parameter 
context* what actually ends up happening is the parameter context on the NiFi 
instance is patched with the parameter contexts from the registry in the order 
that the process groups are imported. So if you delete a parameter and create a 
new version of a process gorup you also need to create new versions of all the 
process gorups that use that parameter. This wouldn't happen if parameters were 
versioned as their own entity rather than something that is tacked onto a 
process group.

  was:
I am noticing that when I delete a parameter from a parameter context in NiFi a 
number of strange things result.
 * It doesn't register as a change that I can commit to the registry (the 
process group still has the green check mark)
 * When I do make a change and commit to the registry, the deleted parameter 
remains there and will be downloaded by anyone downloading the latest version 
of the flow.
 * When I look into the registry's file system, at the bottom of the .snapshot 
files I notice that each individual process group has a listing of parameters 
and their values each with slight differences from eachother. This is weird 
because the documentation says that parameter contexts are global so I was 
expecting a single parameter context entity somewhere.

What I expect to happen:
 * When I delete or modify the value of a parameter I should be able to check 
that in in a versioned way so that newer process group versions see the changes 
but older versions do not.
 * I expected that since parameter contexts are independent of process groups, 
that they would be versioned independently of process groups.

 
 I have noticed that the parameter context gets bloated with a bunch of 
parameters that have no users and no way to delete them after doing a big 
renaming effort.

 

Initial Investigation:
 * When I create and version a single process group which is the only user of a 
parameter context everything behaves as expected. Deleted parameters stay 
deleted and latest values arrive when re-importing the latest version of the 
process group.
 * When there are *two versioned process groups that share a single parameter 
context* what actually ends up happening is the parameter context on the NiFi 
instance is patched with the parameter contexts from the registry in the order 
that the process groups are imported. So if you delete a parameter and create a 
new version of a process gorup you also need to create new versions of all the 
process gorups that use that parameter. This wouldn't happen if parameters were 
versioned as their own entity rather than something that is tacked onto a 
process group.

Notes:
 * I see controller services are represented in a similar way in the snapshot 
files so I expect a similar issue and anecdotally we have experienced weird 
behaviour there as well. I have just not had the time to investigate enough to 
raise an issue.


> Deleting/Modifying Parameters with Nifi Registry
> ------------------------------------------------
>
>                 Key: NIFI-7363
>                 URL: https://issues.apache.org/jira/browse/NIFI-7363
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 1.11.1, 1.11.4
>         Environment: NIFIREG 0.5.0
> NIFIREG 0.6.0
>            Reporter: Eric Secules
>            Priority: Major
>
> I am noticing that when I delete a parameter from a parameter context in NiFi 
> a number of strange things result.
>  * It doesn't register as a change that I can commit to the registry (the 
> process group still has the green check mark)
>  * When I do make a change and commit to the registry, the deleted parameter 
> remains there and will be downloaded by anyone downloading the latest version 
> of the flow.
>  * When I look into the registry's file system, at the bottom of the 
> .snapshot files I notice that each individual process group has a listing of 
> parameters and their values each with slight differences from eachother. This 
> is weird because the documentation says that parameter contexts are global so 
> I was expecting a single parameter context entity somewhere.
> What I expect to happen:
>  * When I delete or modify the value of a parameter I should be able to check 
> that in in a versioned way so that newer process group versions see the 
> changes but older versions do not.
>  * I expected that since parameter contexts are independent of process 
> groups, that they would be versioned independently of process groups.
>  
>  I have noticed that the parameter context gets bloated with a bunch of 
> parameters that have no users and no way to delete them after doing a big 
> renaming effort.
>  
> Initial Investigation:
>  * When I create and version a single process group which is the only user of 
> a parameter context everything behaves as expected. Deleted parameters stay 
> deleted and latest values arrive when re-importing the latest version of the 
> process group.
>  * When there are *two versioned process groups that share a single parameter 
> context* what actually ends up happening is the parameter context on the NiFi 
> instance is patched with the parameter contexts from the registry in the 
> order that the process groups are imported. So if you delete a parameter and 
> create a new version of a process gorup you also need to create new versions 
> of all the process gorups that use that parameter. This wouldn't happen if 
> parameters were versioned as their own entity rather than something that is 
> tacked onto a process group.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to