[
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)