Github user markap14 commented on the issue:

    https://github.com/apache/nifi/pull/2668
  
    @bbende thanks for addressing these issues! I can see that we've tackled a 
handful of spots that could be leaking the references, and I've seen the heap 
dumps showing that they are no longer concerns. The changes to the Abstract 
Hadoop Processors are less desirable than I'd prefer, but I agree that the API 
doesn't really expose what it would need to expose in order to do this more 
effectively, so it's a reasonable workaround. The LogRepositoryFactory change 
in FlowController's create* methods is good - i hadn't realized that we were 
doing that there, within the nar loader.
    
    With this particular scenario, I don't think it's really replicable in a 
unit test. All that could be done in unit tests would be to verify that very 
trivial functionality like "removeLogger() calls remove() on the underlying 
map" which make for bad unit testing IMO. You could attempt to create some very 
involved integration tests, but they would involve mocking out so much that it 
would be hard to know what is really being verified. On top of that, you still 
would not be able to verify that the appropriate objects are reclaimable via 
garbage collection.
    
    This all looks good to me, though. Can verify behavior and code changes 
look good. +1 will merge to master.


---

Reply via email to