Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-3972

Controller Service failing to enabled because the service it depends on is not fully enabled on nifi restart

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 1.3.0
    • Core Framework
    • None

    Description

      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.

      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)
      

      Attachments

        Issue Links

          Activity

            People

              markap14 Mark Payne
              markap14 Mark Payne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: