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

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

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

    https://github.com/apache/nifi/pull/1356#discussion_r94056185
  
    --- Diff: 
nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/src/main/java/org/apache/nifi/processors/attributes/UpdateAttribute.java
 ---
    @@ -259,6 +270,14 @@ public void onScheduled(final ProcessContext context) 
throws IOException {
     
                 context.getStateManager().setState(tempMap, Scope.LOCAL);
             }
    +
    +        defaultActions = getDefaultActions(context.getProperties());
    +        debugEnabled = getLogger().isDebugEnabled();
    +    }
    +
    +    @OnUnscheduled
    +    public void onUnScheduled() {
    +        defaultActions = null;
    --- End diff --
    
    good catch


> UpdateAttribute performance improvements
> ----------------------------------------
>
>                 Key: NIFI-3249
>                 URL: https://issues.apache.org/jira/browse/NIFI-3249
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Bryan Rosander
>            Assignee: Bryan Rosander
>            Priority: Minor
>         Attachments: after.png, before.png
>
>
> UpdateAttribute does a lot of work in every onTrigger() that it doesn't need 
> to.
> The default actions map can be built at schedule time so that it doesn't need 
> to be done on every trigger.
> getPropertyValue() can be implemented using ConcurrentMap.computeIfAbsent()
> Update actions can be ignored if there is a delete action for the same 
> attribute.
> Only need to call processSession.updateAttributes() and 
> processSession.deleteAttributes() if there are attributes to update and 
> delete respectively.



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

Reply via email to