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)