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

Matt Gilman commented on NIFI-5034:
-----------------------------------

[~markbean] Makes sense why we're seeing different behavior. It appears that 
most of the merging logic around descriptors assumes non-null. For Processors 
and Reporting Tasks the descriptors are initialized with an empty collection 
which is added to for each descriptor the component returns. Should be a pretty 
straightforward fix to initialize the referencing components descriptors as 
well.

Once you added a dummy property, what error did you get?

I don't think the RC has been generated yet and this seems like something that 
would be nice to get in. Do you want to file a PR for this? I'm happy to do so 
if not.

> 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