[jira] [Created] (FLINK-11127) Make metrics query service establish connection to JobManager

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-11127) Make metrics query service establish connection to JobManager

Shang Yuanchun (Jira)
Ufuk Celebi created FLINK-11127:
-----------------------------------

             Summary: Make metrics query service establish connection to JobManager
                 Key: FLINK-11127
                 URL: https://issues.apache.org/jira/browse/FLINK-11127
             Project: Flink
          Issue Type: Improvement
          Components: Distributed Coordination, Kubernetes, Metrics
    Affects Versions: 1.7.0
            Reporter: Ufuk Celebi


As part of FLINK-10247, the internal metrics query service has been separated into its own actor system. Before this change, the JobManager (JM) queried TaskManager (TM) metrics via the TM actor. Now, the JM needs to establish a separate connection to the TM metrics query service actor.

In the context of Kubernetes, this is problematic as the JM will typically *not* be able to resolve the TMs by name, resulting in warnings as follows:

{code}
2018-12-11 08:32:33,962 WARN  akka.remote.ReliableDeliverySupervisor                        - Association with remote system [akka.tcp://flink-metrics@flink-task-manager-64b868487c-x9l4b:39183] has failed, address is now gated for [50] ms. Reason: [Association failed with [akka.tcp://flink-metrics@flink-task-manager-64b868487c-x9l4b:39183]] Caused by: [flink-task-manager-64b868487c-x9l4b: Name does not resolve]
{code}

In order to expose the TMs by name in Kubernetes, users require a service *for each* TM instance which is not practical.

This currently results in the web UI not being to display some basic metrics about number of sent records. You can reproduce this by following the READMEs in {{flink-container/kubernetes}}.

This worked before, because the JM is typically exposed via a service with a known name and the TMs establish the connection to it which the metrics query service piggybacked on.

A potential solution to this might be to let the query service connect to the JM similar to how the TMs register.

I tagged this ticket as an improvement, but in the context of Kubernetes I would consider this to be a bug.



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