[
https://issues.apache.org/jira/browse/NIFI-1676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Payne updated NIFI-1676:
-----------------------------
Priority: Critical (was: Major)
> 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
> Priority: Critical
> 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)