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.


---

Reply via email to