You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Brandon DeVries (JIRA)" <ji...@apache.org> on 2016/07/21 14:15:20 UTC

[jira] [Updated] (NIFI-2344) non-required Controller services disabled on restart

     [ https://issues.apache.org/jira/browse/NIFI-2344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon DeVries updated NIFI-2344:
----------------------------------
    Description: 
So... the problem from NIFI-2160 isn't quite dead yet.  The fix for that ticket recursively enumerates controller services that a controller service references, but only if they are *required*\[1\].  However, there are many cases in which referenced controller services may not be required properties:

[DistributedMapCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedMapCacheClientService/index.html] - SSL Context Service
[DistributedMapCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.map.DistributedMapCacheServer/index.html] - SSL Context Service
[DistributedSetCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedSetCacheClientService/index.html] - SSL Context Service
[DistributedSetCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.DistributedSetCacheServer/index.html] - SSL Context Service
[JMSConnectionFactoryProvider|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.jms.cf.JMSConnectionFactoryProvider/index.html] - SSL Context Service

This causes the above services to become disabled on restart if they were previously enabled.  I'd propose changing the line:

{code}
if (descriptor.getControllerServiceDefinition() != null && descriptor.isRequired()) {
{code}

to:

{code}
if (descriptor.getControllerServiceDefinition() != null && pEntry.getValue() != null) {
{code}

\[1\] https://github.com/apache/nifi/blob/rel/nifi-0.7.0/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/StandardControllerServiceNode.java#L121

  was:
So... the problem from NIFI-2160 isn't quite dead yet.  The fix for that ticket recursively enumerates controller services that a controller service references, but only if they are *required*\[1\].  However, there are many cases in which referenced controller services may not be required properties:

[DistributedMapCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedMapCacheClientService/index.html] - SSL Context Service
[DistributedMapCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.map.DistributedMapCacheServer/index.html] - SSL Context Service
[DistributedSetCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedSetCacheClientService/index.html] - SSL Context Service
[DistributedSetCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.DistributedSetCacheServer/index.html] - SSL Context Service
[JMSConnectionFactoryProvider|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.jms.cf.JMSConnectionFactoryProvider/index.html] - SSL Context Service

This causes the above services to become disabled on restart if they were previously enabled.  I'd propose changing the line:

{code}
if (descriptor.getControllerServiceDefinition() != null && descriptor.isRequired()) {
{code}

to:

{code}
if (descriptor.getControllerServiceDefinition() != null && pEntry.getValue() != null) {
{code}

\[1\] https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/StandardControllerServiceNode.java#L173


> non-required Controller services disabled on restart
> ----------------------------------------------------
>
>                 Key: NIFI-2344
>                 URL: https://issues.apache.org/jira/browse/NIFI-2344
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 0.7.0
>            Reporter: Brandon DeVries
>             Fix For: 1.0.0, 0.8.0
>
>
> So... the problem from NIFI-2160 isn't quite dead yet.  The fix for that ticket recursively enumerates controller services that a controller service references, but only if they are *required*\[1\].  However, there are many cases in which referenced controller services may not be required properties:
> [DistributedMapCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedMapCacheClientService/index.html] - SSL Context Service
> [DistributedMapCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.map.DistributedMapCacheServer/index.html] - SSL Context Service
> [DistributedSetCacheClientService|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.client.DistributedSetCacheClientService/index.html] - SSL Context Service
> [DistributedSetCacheServer|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.distributed.cache.server.DistributedSetCacheServer/index.html] - SSL Context Service
> [JMSConnectionFactoryProvider|http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.jms.cf.JMSConnectionFactoryProvider/index.html] - SSL Context Service
> This causes the above services to become disabled on restart if they were previously enabled.  I'd propose changing the line:
> {code}
> if (descriptor.getControllerServiceDefinition() != null && descriptor.isRequired()) {
> {code}
> to:
> {code}
> if (descriptor.getControllerServiceDefinition() != null && pEntry.getValue() != null) {
> {code}
> \[1\] https://github.com/apache/nifi/blob/rel/nifi-0.7.0/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/StandardControllerServiceNode.java#L121



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)