[ 
https://issues.apache.org/jira/browse/NIFI-3972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16024053#comment-16024053
 ] 

ASF GitHub Bot commented on NIFI-3972:
--------------------------------------

Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1855
  
    initially it looked like it was sorted.  But after another round of 
restarting all nodes in the cluster the problem occurred again.  The case I 
have is a json record writer which depends on an external schema registry which 
could take a moment to enable and the writer is used by two kafka processors.  
The processors are not starting up as they should when the nodes startup 
because the writer service is disabled which is presumably because the service 
it depends on is not available.


> 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
>             Fix For: 1.3.0
>
>
> 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)

Reply via email to