[ 
https://issues.apache.org/jira/browse/FLINK-4074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344154#comment-15344154
 ] 

ASF GitHub Bot commented on FLINK-4074:
---------------------------------------

Github user zentol commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2105#discussion_r68037781
  
    --- Diff: 
flink-core/src/main/java/org/apache/flink/metrics/MetricRegistry.java ---
    @@ -118,40 +120,38 @@ public MetricRegistry(Configuration config) {
     
                                if (reporter instanceof Scheduled) {
                                        LOG.info("Periodically reporting 
metrics in intervals of {} {}", period, timeunit.name());
    -                                   long millis = timeunit.toMillis(period);
                                        
    -                                   timer = new java.util.Timer("Periodic 
Metrics Reporter", true);
    -                                   timer.schedule(new 
ReporterTask((Scheduled) reporter), millis, millis);
    +                                   executor.scheduleWithFixedDelay(new 
ReporterTask((Scheduled) reporter), period, period, timeunit);
                                }
                                else {
    -                                   timer = null;
    +                                   executor = null;
                                }
                        }
                        catch (Throwable t) {
                                reporter = new JMXReporter();
    -                           timer = null;
    +                           executor = null;
                                LOG.error("Could not instantiate custom metrics 
reporter. Defaulting to JMX metrics export.", t);
                        }
     
                        this.reporter = reporter;
    -                   this.timer = timer;
    +                   this.executor = executor;
                }
        }
     
        /**
         * Shuts down this registry and the associated {@link 
org.apache.flink.metrics.reporter.MetricReporter}.
         */
        public void shutdown() {
    -           if (timer != null) {
    -                   timer.cancel();
    -           }
                if (reporter != null) {
                        try {
                                reporter.close();
                        } catch (Throwable t) {
                                LOG.warn("Metrics reporter did not shut down 
cleanly", t);
                        }
                }
    +           if (executor != null) {
    +                   executor.shutdownNow();
    --- End diff --
    
    I've thought about that but i figured that would delay the shutdown, which 
is the primary thing we wanted to solve.


> Reporter can block TaskManager shutdown
> ---------------------------------------
>
>                 Key: FLINK-4074
>                 URL: https://issues.apache.org/jira/browse/FLINK-4074
>             Project: Flink
>          Issue Type: Improvement
>          Components: Metrics
>    Affects Versions: 1.1.0
>            Reporter: Chesnay Schepler
>            Assignee: Chesnay Schepler
>            Priority: Minor
>             Fix For: 1.1.0
>
>
> If a report is being submitted while a TaskManager is shutting down the 
> reporter can cause the shutdown to be delayed since it submits the complete 
> report.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to