[
https://issues.apache.org/jira/browse/NIFI-1676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15208570#comment-15208570
]
ASF GitHub Bot commented on NIFI-1676:
--------------------------------------
GitHub user markap14 opened a pull request:
https://github.com/apache/nifi/pull/300
NIFI-1676: Do not allow Processor to be started if state is STOPPING
Need to ensure that processor state is STOPPED, not STOPPING
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/markap14/nifi NIFI-1676
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/300.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #300
----
commit a87f7b6c0a7f7534ab8d30c0a3da7063ae6422c9
Author: Mark Payne <[email protected]>
Date: 2016-03-23T15:19:31Z
NIFI-1676: Do not allow Processor to be started if state is STOPPING;
ensure that it is STOPPED
----
> Processor can be scheduled to start running while it is still in a 'STOPPING'
> state
> -----------------------------------------------------------------------------------
>
> Key: NIFI-1676
> URL: https://issues.apache.org/jira/browse/NIFI-1676
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Reporter: Mark Payne
> Assignee: Mark Payne
> Fix For: 0.6.0
>
>
> After the refactoring of the Processor Lifecycle that happened in 0.6.0, a
> Processor can be told to start while it is still 'stopping'.
> StandardProcessorNode.verifyCanStart() has the following logic:
> {code}
> if (this.getScheduledState() == ScheduledState.RUNNING) {
> throw new IllegalStateException(this + " cannot be started
> because it is already running");
> }
> {code}
> However, if the state is 'stopping', it also should not be able to start.
> This wasn't accounted for originally because there was no 'stopping' state.
> There was only RUNNING and STOPPED; if not RUNNING, it was assumed to be
> stopped. However, now that there is a STOPPING state, we should instead
> verify:
> {code}
> if (this.getScheduledState() != ScheduledState.STOPPED) {
> throw new IllegalStateException(this + " cannot be started
> because it is not completely stopped");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)