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

Agile BoardAttach filesAttach ScreenshotVotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment