Chesnay Schepler created FLINK-10081:
----------------------------------------

             Summary: Asynchronous (un)registration of metrics
                 Key: FLINK-10081
                 URL: https://issues.apache.org/jira/browse/FLINK-10081
             Project: Flink
          Issue Type: Improvement
          Components: Metrics
            Reporter: Chesnay Schepler
            Assignee: Chesnay Schepler


Currently, whenever a metric is (un)registered the calling thread iterates over 
all reporters and executes their registration logic, which may involve slow or 
even blocking operations depending on the reporter implementation. For 
scheduled reporters this also introduces concurrency as registration can occur 
while a report is being created, potentially causing exceptions as seen in 
FLINK-10035.

I propose to make the registration of metrics asynchronous, i.e. when a metric 
is registered it is simply put in a queue instead that the metrics thread (that 
is also doing the reporting) would pull from.
This further isolates jobmanager/taskmanager/task threads from user-code, 
should speed up deployment/shutdown of tasks and makes interactions with 
reporters single-threaded.



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

Reply via email to