[
https://issues.apache.org/jira/browse/NIFI-543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16438611#comment-16438611
]
ASF GitHub Bot commented on NIFI-543:
-------------------------------------
Github user zenfenan commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2509#discussion_r181573096
--- Diff:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-processor-configuration.js
---
@@ -741,8 +742,8 @@
}
});
- // show the execution node option if we're cluster or
we're currently configured to run on the primary node only
- if (nfClusterSummary.isClustered() || executionNode
=== 'PRIMARY') {
+ // show the execution node option if we're clustered
and execution node is not restricted to run only in primary node
+ if (nfClusterSummary.isClustered() &&
executionNodeRestricted !== true) {
--- End diff --
@mcgilman With the current state of the commit, if a processor previously
didn't have `executionNodeRestricted` and the `executionNode` was `ALL`, it
will still be hidden. Now I understand that shouldn't be the case. Thanks for
the clarification so I think the following will address this:
var getExecutionNodeOptions = function (processor) {
return [{
text: 'All nodes',
value: 'ALL',
description: 'Processor will be scheduled to run on all nodes',
disabled: processor.executionNodeRestricted === true
}, {
text: 'Primary node',
value: 'PRIMARY',
description: 'Processor will be scheduled to run only on the
primary node',
disabled: !nfClusterSummary.isClustered() &&
processor.config['executionNode'] === 'PRIMARY'
}];
};
And changing the code to show when `execution-node-options` gets shown in
the UI to the following:
if ((nfClusterSummary.isClustered() && executionNodeRestricted !==
true) ||
(!nfClusterSummary.isClustered() && executionNode === 'PRIMARY') ||
(executionNodeRestricted === true && executionNode === 'ALL')) {
$('#execution-node-options').show();
} else {
$('#execution-node-options').hide();
}
There are two much checks in the `if` but I think they are needed to
address this. If that can be optimized or modified, do let me know.
> Provide extensions a way to indicate that they can run only on primary node,
> if clustered
> -----------------------------------------------------------------------------------------
>
> Key: NIFI-543
> URL: https://issues.apache.org/jira/browse/NIFI-543
> Project: Apache NiFi
> Issue Type: Sub-task
> Components: Core Framework, Documentation & Website, Extensions
> Reporter: Mark Payne
> Assignee: Sivaprasanna Sethuraman
> Priority: Major
>
> There are Processors that are known to be problematic if run from multiple
> nodes simultaneously. These processors should be able to use a
> @PrimaryNodeOnly annotation (or something similar) to indicate that they can
> be scheduled to run only on primary node if run in a cluster.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)