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

Victor Wong commented on FLINK-15448:
-------------------------------------

[~zhuzh] different ResourceID could have constructors with deployment-related 
arguments, e.g.

{code:java}
public YarnResourceID(Container container)
public KubernetesResourceID(KubernetesPod pod)
...
{code}

So they can have a custom `#toString` method with all the information needed.

A simple demo:

{code:java}
public class YarnResourceID extends ResourceID {
        private final String resourceIdStr;

        public YarnResourceID(Container container) {
                super(container.getId().toString());

                this.resourceIdStr = container.getId() + "@" + 
container.getNodeId();
        }

        @Override
        public String toString() {
                return resourceIdStr;
        }
}
{code}

As [~trohrmann] said,  "_Flink uses a lot of ids in its logs which are hard to 
decipher for the user_",  so a custom "ResourceID#toString" method with the 
information needed would improve the situation. WDYT?


 

> Log host informations for TaskManager failures.
> -----------------------------------------------
>
>                 Key: FLINK-15448
>                 URL: https://issues.apache.org/jira/browse/FLINK-15448
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>    Affects Versions: 1.9.1
>            Reporter: Victor Wong
>            Assignee: Victor Wong
>            Priority: Minor
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> With Flink on Yarn, sometimes we ran into an exception like this:
> {code:java}
> java.util.concurrent.TimeoutException: The heartbeat of TaskManager with id 
> container_xxxx  timed out.
> {code}
> We'd like to find out the host of the lost TaskManager to log into it for 
> more details, we have to check the previous logs for the host information, 
> which is a little time-consuming.
> Maybe we can add more descriptive information to ResourceID of Yarn 
> containers, e.g. "container_xxx@host_name:port_number".
> Here's the demo:
> {code:java}
> class ResourceID {
>   final String resourceId;
>   final String details;
>   public ResourceID(String resourceId) {
>     this.resourceId = resourceId;
>     this.details = resourceId;
>   }
>   public ResourceID(String resourceId, String details) {
>     this.resourceId = resourceId;
>     this.details = details;
>   }
>   public String toString() {
>     return details;
>   }     
> }
> // in flink-yarn
> private void startTaskExecutorInContainer(Container container) {
>   final String containerIdStr = container.getId().toString();
>   final String containerDetail = container.getId() + "@" + 
> container.getNodeId();  
>   final ResourceID resourceId = new ResourceID(containerIdStr, 
> containerDetail);
>   ...
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to