[ https://issues.apache.org/jira/browse/NIFI-9839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17513984#comment-17513984 ]
ASF subversion and git services commented on NIFI-9839: ------------------------------------------------------- Commit b03fdac1b5d91f867bd8f8e7591bbb373f4b9901 in nifi's branch refs/heads/main from markap14 [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=b03fdac ] NIFI-9839: Fixed bug in which Process Group would return true for isEmpty even if it has a Controller Service (#5910) > NiFi fails to startup/join cluster if dataflow consists solely of Controller > Services and Reporting Tasks > --------------------------------------------------------------------------------------------------------- > > Key: NIFI-9839 > URL: https://issues.apache.org/jira/browse/NIFI-9839 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.16.0 > Reporter: Mark Payne > Assignee: Mark Payne > Priority: Major > Fix For: 1.16.1 > > Time Spent: 20m > Remaining Estimate: 0h > > 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: > {code:java} > 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 {code} > However, if any other components are added to the root group, such as a > process or a child process group, this won't happen. -- This message was sent by Atlassian Jira (v8.20.1#820001)