[ 
https://issues.apache.org/jira/browse/FLINK-12550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Felix seibert updated FLINK-12550:
----------------------------------
    Description: 
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.

 

  was:
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 all available splits
      LocatableInputSplitAssigner ia = new LocatableInputSplitAssigner(splits);
      InputSplit is = null;
      ia.getNextInputSplit(hostNameWithDot, 0);

      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.

 


> 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