flink-issues mailing list archives

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

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

Felix seibert commented on FLINK-12550:
---------------------------------------

{code:java}
// Code in method JobMaster.requestNextInputSplit:
final String host = slot != null ? slot.getTaskManagerLocation().getHostname() : null;
{code}
I find this line of code in flink.runtime.executiongraph.Execution:

[https://github.com/apache/flink/blob/4b38256418a96058457a356dabfdfdcee1ca633b/flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/Execution.java#L316]

Do you mean this one?

> 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