[ 
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)

Reply via email to