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

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

Github user bbende commented on the issue:

    https://github.com/apache/nifi/pull/2470
  
    @zenfenan this seems to be working well, I had a few minor changes I posted 
here:
    https://github.com/bbende/nifi/commits/NIFI-4864
    
    If you are good with that last commit I made then I will go ahead and merge 
this.
    
    To summarize my changes...
    - Changed to using StringUtils.eqausl(oldFingerprintg, newFingerprint) 
because its possible old fingerprint is null or empty and we would still want 
to replace it with the new one if we have a new one
    - Made the reload method synchronized
    - Removed a the has/get/set fingerprint methods from the interface to try 
and keep all the fingerprint logic inside of AbstractConfiguredComponent


> Additional Resources property pointing at a directory won't find new JARs
> -------------------------------------------------------------------------
>
>                 Key: NIFI-4864
>                 URL: https://issues.apache.org/jira/browse/NIFI-4864
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.5.0
>            Reporter: Bryan Bende
>            Assignee: Sivaprasanna Sethuraman
>            Priority: Minor
>
> If you have a processor/Controller Service/Reporting Task that has a property 
> with dynamicallyModifiesClasspath(true) and you set the value to a directory, 
> the resources in that directory will only be calculated when that property 
> changes. This means if you added JARs to the directory later, and stopped and 
> started your processor, those new JARs still won't be available. You would 
> have to change the property to a new directory, or back and forth to some 
> other directory, to force a recalculation.
> The setProperties method in AbstractConfiguredComponent is where it looks at 
> incoming property changes and determines if any were for classpath related 
> properties and then calls reload accordingly.
> We would need to consider the case where setProperties is never even being 
> called, someone just stops and starts the processor and would want to pick up 
> any new JARs added.
> A possible solution might be to computer some kind of hash/fingerprint of the 
> URLs each time reload is called, and then when starting the processor we 
> could recompute the fingerprint and compare it to the previous one. If they 
> are different then we call reload before starting the component.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to