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

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

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

    https://github.com/apache/nifi/pull/71#discussion_r35453740
  
    --- Diff: 
nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/RouteOnAttribute.java
 ---
    @@ -166,6 +170,27 @@ public void onPropertyModified(final 
PropertyDescriptor descriptor, final String
             this.relationships.set(newRelationships);
         }
     
    +    /**
    +     * When this processor is 
    +     * @param context
    +     */
    +    @OnScheduled
    +    public void onScheduled(final ProcessContext context) {
    +        for (final PropertyDescriptor descriptor : 
context.getProperties().keySet()) {
    +            if (!descriptor.isDynamic()) {
    +                continue;
    +            }
    +            getLogger().debug("Adding new dynamic property: {}", new 
Object[]{descriptor});
    +            propertyMap.put(new 
Relationship.Builder().name(descriptor.getName()).build(), 
context.getProperty(descriptor));
    +        }
    +    }
    +    
    +    @OnUnscheduled
    --- End diff --
    
    Can we changed this to @OnStopped? As it is right now, we have a race 
condition - map could get cleared just after a thread enters onTrigger, which 
would result in it running with an empty map


> Improve performance of RouteOnAttribute
> ---------------------------------------
>
>                 Key: NIFI-784
>                 URL: https://issues.apache.org/jira/browse/NIFI-784
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Brian Ghigiarelli
>              Labels: beginner, newbie
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> RouteOnAttribute has a couple inefficiencies:
> * Recalculating the dynamic properties into a HashMap for each message in 
> onTrigger when this property map can be pre-computed when the processor is 
> scheduled
> * Logger statements are concatenating strings instead of using lazy 
> evaluation with a string formatter



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

Reply via email to