Github user mcgilman commented on a diff in the pull request: https://github.com/apache/nifi/pull/2468#discussion_r174137385 --- Diff: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardProcessorNode.java --- @@ -1349,10 +1404,12 @@ private void initiateStart(final ScheduledExecutorService taskScheduler, final l LOG.debug("Successfully invoked @OnScheduled methods of {} but scheduled state is no longer STARTING so will stop processor now", processor); // can only happen if stopProcessor was called before service was transitioned to RUNNING state + activateThread(); try { ReflectionUtils.quietlyInvokeMethodsWithAnnotation(OnUnscheduled.class, processor, processContext); - } finally { --- End diff -- Not sure which approach is correct, but this appears to be a change in behavior. If OnUnscheduled throws, OnStopped will not be invoked anymore. Do we want this new behavior, or do this finally block contain a nested try/finally with deactiveThread() in the nested finally? This would maintain the same behavior.
---