Matthew Clarke created NIFI-8522:
------------------------------------
Summary: NiFi can duplicate controller services when generating
templates
Key: NIFI-8522
URL: https://issues.apache.org/jira/browse/NIFI-8522
Project: Apache NiFi
Issue Type: Bug
Components: Core Framework
Affects Versions: 1.12.1, 1.11.4, 1.10.0, 1.9.0
Reporter: Matthew Clarke
NiFi throws "The specified observer identifier already exists" exception when
trying to instantiate a template to the canvas. Parsing the template xml
reveals multiple controller services with same UUID.
Steps to reproduce:
1. Create "PG-level1"
2. within "PG-level1" create two new sub process groups "PG-level2-A" and
"PG-level2-B".
3. Create a controller service(s) in "PG-level2-A" like AvroReader and
CSVRecordSetWriter. Add a processor like ConvertRecord and configure it to
reference these two controller services.
4. Right click on the ConvertRecord processor and copy it. Exit "PG-level2-A"
and enter "PG-level2-B" and paste that copy processor. The processor will show
both configured controller services as "Incompatible Controller Service
Configured" and invalid bulletin will reflect the properties reference
controller services that do not exist.
5. go up to "PG-level1" level and generate a template. Template is created
successfully.
6. Try to instantiate this template to the canvas and it will only partially
instantiate and throw the "observer identifier already exist exception.
Inspection of the template shows that the controller services scoped to
PG-level2-A were added into the template again at the parent "PG-level1" scope
with same UUID.
The expected behavior is that the controller services do not get duplicated and
the processor in the instantiate template either has no configured controller
services or still reflects that it references controller service(s) that do not
exist.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)