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

Error in Controller Service with dynamic property in Cluster environment



    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0, 1.5.0
    • Fix Version/s: 1.6.0
    • Component/s: Core Framework
    • Labels:


      Environment: Controller Service provides a lookup service to other Controller Services. To configure, the lookup CS uses dynamic properties where the key is an arbitrary name and the value is an existing Controller Service.

      In a cluster environment only (this is not an issue for stand-alone environment), the UI displays returns "An unexpected error has occurred" due to http 500 return code. This occurs when attempting to configure the controller service with the dynamic property. Additionally, it throws the same error (http 500) when trying to configure the process group owning the lookup controller service. (The property on the controller service is created despite the 500 return code.)

      Diving into the code a bit, the fact of being a "cluster only" issue is in FlowResource.java:400.

      if (isReplicateRequest())

      { return replicate(HttpMethod.GET); }

      The problem is the return value is null even when controller services exist. Ultimately, ApplicationResource.java:288 parses a map of http servlet parameters. The controller service should be a parameter. Yet, this map is empty.

      for (final Map.Entry<String, String[]> entry : httpServletRequest.getParameterMap().entrySet()) { ... }

      This problem is preventing the implementation of a Controller Service with dynamic properties (whose property values are other Controller Services) in a cluster environment.



          Issue Links



              • Assignee:
                mcgilman Matt Gilman
                markbean Mark Bean
              • Votes:
                0 Vote for this issue
                3 Start watching this issue


                • Created: