[ https://issues.apache.org/jira/browse/NIFI-543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16402384#comment-16402384 ]
Bryan Bende commented on NIFI-543: ---------------------------------- I'm not really saying either of those things... There is a feature called "component versioning" that lets you change the version of a component in-place: [https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#changing-component-versions] Using my previous example, lets say we have ProcessorXYZ v1 which is annotated with the new @PrimaryNodeOnly annotation. When someone creates an instance of this processor in their flow, a new StandardProcessorNode will be created and it will be given a instance of ProcessorXYZ v1. Some time later, someone deploys a new NAR to the lib directory that has ProcessorXYZ v2 which no longer has the @PrimaryNodeOnly annotation. They then go into the UI and right-click on the v1 processors and select change version to v2. Behind the scenes the StandardProcessorNode remains in place, and the underlying processor is swapped out by calling reload() which eventually will call set a new processor into the existing node: {code:java} @Override public synchronized void setProcessor(final LoggableComponent<Processor> processor) { if (isRunning()) { throw new IllegalStateException("Cannot modify Processor configuration while the Processor is running"); } final ProcessorDetails processorDetails = new ProcessorDetails(processor); processorRef.set(processorDetails); }{code} If you don't move executionNodeRestricted into ProcessorDetails and recalculate it when the processor is swapped out, then the old value will be stuck in the node and will no longer be accurate the actual processor that is being used. > 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)