Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.16.0
-
None
Description
To replicate:
- Start a cluster
- Add one or more controller services to the Root Process Group. Do not add any processors, labels, funnels, ports, etc.
- Restart cluster
This will result in a stack trace along the lines of:
2022-03-28 11:24:28,230 ERROR org.apache.nifi.web.server.JettyServer: Unable to load flow due to: java.io.IOException: org.apache.nifi.controller.serialization.FlowSynchronizationException: Failed to connect node to cluster because local flow controller partially updated. Administrator should disconnect node and review flow for corruption. java.io.IOException: org.apache.nifi.controller.serialization.FlowSynchronizationException: Failed to connect node to cluster because local flow controller partially updated. Administrator should disconnect node and review flow for corruption. at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:524) at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1086) at org.apache.nifi.NiFi.<init>(NiFi.java:170) at org.apache.nifi.NiFi.<init>(NiFi.java:82) at org.apache.nifi.NiFi.main(NiFi.java:330) Caused by: org.apache.nifi.controller.serialization.FlowSynchronizationException: Failed to connect node to cluster because local flow controller partially updated. Administrator should disconnect node and review flow for corruption. at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:1057) at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:520) ... 4 common frames omitted Caused by: org.apache.nifi.controller.serialization.FlowSynchronizationException: java.lang.IllegalStateException: The specified observer identifier (bulletin-observer) already exists. at org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.synchronizeFlow(VersionedFlowSynchronizer.java:362) at org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.sync(VersionedFlowSynchronizer.java:185) at org.apache.nifi.controller.serialization.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:43) at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1479) at org.apache.nifi.persistence.StandardFlowConfigurationDAO.load(StandardFlowConfigurationDAO.java:104) at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:815) at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:1026) ... 5 common frames omitted Caused by: java.lang.IllegalStateException: The specified observer identifier (bulletin-observer) already exists. at org.apache.nifi.logging.repository.StandardLogRepository.addObserver(StandardLogRepository.java:169) at org.apache.nifi.controller.flow.StandardFlowManager.createControllerService(StandardFlowManager.java:490) at org.apache.nifi.groups.StandardProcessGroupSynchronizer.addControllerService(StandardProcessGroupSynchronizer.java:1033) at org.apache.nifi.groups.StandardProcessGroupSynchronizer.synchronizeControllerServices(StandardProcessGroupSynchronizer.java:457) at org.apache.nifi.groups.StandardProcessGroupSynchronizer.synchronize(StandardProcessGroupSynchronizer.java:339) at org.apache.nifi.groups.StandardProcessGroupSynchronizer.lambda$synchronize$0(StandardProcessGroupSynchronizer.java:221) at org.apache.nifi.controller.flow.AbstractFlowManager.withParameterContextResolution(AbstractFlowManager.java:462) at org.apache.nifi.groups.StandardProcessGroupSynchronizer.synchronize(StandardProcessGroupSynchronizer.java:219) at org.apache.nifi.groups.StandardProcessGroup.synchronizeFlow(StandardProcessGroup.java:3830) at org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.synchronizeFlow(VersionedFlowSynchronizer.java:353) ... 11 common frames omitted
However, if any other components are added to the root group, such as a process or a child process group, this won't happen.
Attachments
Issue Links
- links to