Mark Payne created NIFI-3972: -------------------------------- Summary: Controller Service failing to enabled because the service it depends on is not fully enabled on nifi restart Key: NIFI-3972 URL: https://issues.apache.org/jira/browse/NIFI-3972 Project: Apache NiFi Issue Type: Bug Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne
I have a JsonRecordSetWriter controller service. It depends on a Schema Registry controller service. Both are enabled. Upon restart, the JsonRecordSetWriter service fails to enable, indicating that the Schema Registry service is not enabled. When I look at the Controller Service configuration, though, the Schema Registry service is enabled. So it appears that the JsonRecordSetWriter was attempting to be enabled before the Schema Registry Service finishes enabling. {code} 2017-05-24 19:46:56,314 ERROR [main] o.a.n.c.s.StandardControllerServiceProvider Failed to enable JsonRecordSetWriter[id=0d273e88-9bd7-1dd9-ffff-ffffc1e1a536] java.lang.IllegalStateException: Cannot invoke method public abstract java.util.Set org.apache.nifi.schemaregistry.services.SchemaRegistry.getSuppliedSchemaFields() on Controller Service with identifier 0660348b-255e-1f3a-ffff-fffffb399783 because the Controller Service is disabled at org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:84) at com.sun.proxy.$Proxy85.getSuppliedSchemaFields(Unknown Source) at org.apache.nifi.schema.access.SchemaNamePropertyStrategy.<init>(SchemaNamePropertyStrategy.java:42) at org.apache.nifi.schema.access.SchemaAccessUtils.getSchemaAccessStrategy(SchemaAccessUtils.java:147) at org.apache.nifi.serialization.SchemaRegistryService.getSchemaAccessStrategy(SchemaRegistryService.java:149) at org.apache.nifi.serialization.SchemaRegistryService.getSuppliedSchemaFields(SchemaRegistryService.java:128) at org.apache.nifi.serialization.SchemaRegistryRecordSetWriter.customValidate(SchemaRegistryRecordSetWriter.java:160) at org.apache.nifi.components.AbstractConfigurableComponent.validate(AbstractConfigurableComponent.java:126) at org.apache.nifi.controller.AbstractConfiguredComponent.validate(AbstractConfiguredComponent.java:326) at org.apache.nifi.controller.AbstractConfiguredComponent.isValid(AbstractConfiguredComponent.java:441) at org.apache.nifi.controller.service.StandardControllerServiceNode.verifyCanEnable(StandardControllerServiceNode.java:301) at org.apache.nifi.controller.service.StandardControllerServiceProvider.enableControllerService(StandardControllerServiceProvider.java:327) at org.apache.nifi.controller.service.StandardControllerServiceProvider.enableControllerServiceDependenciesFirst(StandardControllerServiceProvider.java:384) at org.apache.nifi.controller.service.StandardControllerServiceProvider.enableControllerServices(StandardControllerServiceProvider.java:350) at org.apache.nifi.controller.FlowController.enableControllerServices(FlowController.java:3271) at org.apache.nifi.controller.service.ControllerServiceLoader.enableControllerServices(ControllerServiceLoader.java:159) at org.apache.nifi.controller.service.ControllerServiceLoader.enableControllerServices(ControllerServiceLoader.java:152) at org.apache.nifi.controller.StandardFlowSynchronizer.addProcessGroup(StandardFlowSynchronizer.java:1042) at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:312) at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1554) at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:84) at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:722) at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:452) at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:800) at org.apache.nifi.NiFi.<init>(NiFi.java:160) at org.apache.nifi.NiFi.main(NiFi.java:267) {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)