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

Mark Bean commented on NIFI-5034:
---------------------------------

[~mcgilman] Both controller services are accessed through the Configuration of 
the root process group. (They are _not_ reporting task controller services 
under Controller Settings.) And, I've done a fair bit of debugging and 
configuration changes. I am not able to hit the previously reported breakpoint 
in in FlowResource any longer. I do hit a similar one in ProcessGroupResource 
though.

The behavior is that when I first create the controller service with the 
dynamic property - when I hit "Apply" after configuring it - I get the "An 
unexpected error has occurred" message in the UI. I also get this whenever I 
subsequently hit the "Configuration" gear icon from the Component Palette. I've 
been investigating the issue almost entirely with the latter, but now I 
recreated the service from scratch and I see a stack trace in nifi-user.log 
that I hadn't noticed before; it might prove useful. I'll investigate.

I have not found anything useful in the browser Dev Tools other than it is a 
return code 500 on 
https://.../nifi-api/flow/process-groups/\{root-group-id}/controller-services

I have been looking at the logs and stepping through using a debugger on the 
node the UI is pointed to. Currently, this node is both primary and 
coordinator, but I can't swear that has been the case for all previous tests as 
I've restarted the cluster numerous times.

What controller services are you using in your test case? I would like to 
attempt to replicate your non-error. In my case, both services are custom. One 
does not have a customeValidate at all, and the other returns an empty 
collection.

 

> Error in Controller Service with dynamic property in Cluster environment
> ------------------------------------------------------------------------
>
>                 Key: NIFI-5034
>                 URL: https://issues.apache.org/jira/browse/NIFI-5034
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: Mark Bean
>            Priority: Major
>
> 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.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to