flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Quan Shi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-12550) hostnames with a dot never receive local input splits
Date Mon, 20 May 2019 05:50:00 GMT

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

Quan Shi commented on FLINK-12550:
----------------------------------

How about replace host with FQDN in JobMaster?

 
{code:java}
// Code in method JobMaster.requestNextInputSplit:
final String host = slot != null ? slot.getTaskManagerLocation().getHostname() : null;

//to 

final String host = slot != null ? slot.getTaskManagerLocation().getFQDNHostname() : null;
{code}
 

 

> hostnames with a dot never receive local input splits
> -----------------------------------------------------
>
>                 Key: FLINK-12550
>                 URL: https://issues.apache.org/jira/browse/FLINK-12550
>             Project: Flink
>          Issue Type: Bug
>          Components: API / DataSet
>    Affects Versions: 1.8.0
>            Reporter: Felix seibert
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> LocatableInputSplitAssigner (in package api.common.io) fails to assign local input splits
to hosts whose hostname contains a dot ("."). To reproduce add the following test to LocatableSplitAssignerTest
and execute it. It will always fail. In my mind, this is contrary to the expected behaviour,
which is that the host should obtain the one split that is stored on the very same machine.
>  
> {code:java}
> @Test
> public void testLocalSplitAssignmentForHostWithDomainName() {
>    try {
>       String hostNameWithDot = "testhost.testdomain";
>       // load one split
>       Set<LocatableInputSplit> splits = new HashSet<LocatableInputSplit>();
>       splits.add(new LocatableInputSplit(0, hostNameWithDot));
>       // get next split for the host
>       LocatableInputSplitAssigner ia = new LocatableInputSplitAssigner(splits);
>       InputSplit is = null;
>       ia.getNextInputSplit(hostNameWithDot, 0);
>       // there should be exactly zero remote and one local assignment
>       assertEquals(0, ia.getNumberOfRemoteAssignments());
>       assertEquals(1, ia.getNumberOfLocalAssignments());
>    }
>    catch (Exception e) {
>       e.printStackTrace();
>       fail(e.getMessage());
>    }
> }
> {code}
> I also experienced this error in practice, and will later today open a pull request to
fix it.
>  
> Note: I'm not sure if I selected the correct component category.
>  



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

Mime
View raw message