[ 
https://issues.apache.org/jira/browse/NIFI-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15376022#comment-15376022
 ] 

ASF GitHub Bot commented on NIFI-619:
-------------------------------------

Github user ijokarumawak commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/575#discussion_r70728563
  
    --- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/MonitorActivity.java
 ---
    @@ -234,4 +361,10 @@ public void process(final OutputStream out) throws 
IOException {
                 }
             }
         }
    +
    +    @OnPrimaryNodeStateChange
    +    public void onPrimaryNodeChange(final PrimaryNodeState newState) {
    +        isPrimaryNode = (newState == 
PrimaryNodeState.ELECTED_PRIMARY_NODE);
    --- End diff --
    
    This is a great catch, thank you!
    
    @JPercivall in different PR I'm working on, #563 also needs similar 
functionality to know whether it's running on a standalone or clustered NiFi, 
and if latter whether it's a primary node.
    
    I'm going to try adding a new `@OnAddedToCluster` lifecycle annotation 
taking one argument `isPrimaryNode`. Using it together with 
`@OnPrimaryNodeStateChange` Processors, Reporting tasks, and Controller 
services will be able to control its behavior well in a clustered environment.
    
    How do you think?


> update MonitorActivity processor to be cluster friendly
> -------------------------------------------------------
>
>                 Key: NIFI-619
>                 URL: https://issues.apache.org/jira/browse/NIFI-619
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Brandon DeVries
>            Assignee: Koji Kawamura
>            Priority: Minor
>             Fix For: 1.0.0
>
>
> This processor should be able to be used to monitor activity across the 
> cluster.  In its current state, alerting is based on activity of a single 
> node, not the entire cluster.
> For example, in a 2 node cluster, if system A is getting data from a given 
> flow and system B is not, system B will alert for lack of activity even 
> though the flow is functioning "normally".
> The ideal behavior would be fore an alert to be generated only if both 
> systems did not see data in the specified time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to