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)