Nick Allen created METRON-1775:
----------------------------------

             Summary: Transient exception could prevent expired profiles from 
being flushed
                 Key: METRON-1775
                 URL: https://issues.apache.org/jira/browse/METRON-1775
             Project: Metron
          Issue Type: Improvement
            Reporter: Nick Allen
            Assignee: Nick Allen


In the Storm Profiler, the ProfileBuilderBolt uses a separate thread to flush 
expired profiles.  Expired profiles are those that have not received a message 
for an extended period of time.  That period of time is called the profile 
time-to-live (profiler.ttl).  This is done to avoid potential memory leaks.

This separate thread is scheduled using 
java.util.concurrent.ScheduledExecutorService#scheduleAtFixedRate.  The 
documentation for scheduleAtFixedRate says that if an exception is thrown, 
subsequent executions will be suppressed.  We do not want this to happen.  If 
an exception occurs, we need to log it and continue, ensuring that expired 
profiles will continue to flush.

I have no direct proof that this has caused a problem, but it certainly is a 
potential issue that should be addressed.



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

Reply via email to