[
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)