Example usage for org.apache.hadoop.hdfs.protocol DatanodeInfo setNetworkLocation

List of usage examples for org.apache.hadoop.hdfs.protocol DatanodeInfo setNetworkLocation

Introduction

In this page you can find the example usage for org.apache.hadoop.hdfs.protocol DatanodeInfo setNetworkLocation.

Prototype

@Override
public void setNetworkLocation(String location) 

Source Link

Document

Sets the network location

Usage

From source file:com.sun.grid.herd.HerdJsvTest.java

License:Open Source License

/**
 * Test of buildRackRequests() method, of class HerdJsv.
 *//*w  w  w.  jav  a  2s  .  c  o  m*/
public void testBuildRackRequests() throws Exception {
    System.out.println("buildRackRequests()");
    HerdJsv instance = new HerdJsv();
    List<LocatedBlock> blocks = new ArrayList<LocatedBlock>(5);
    Map<String, String> expectedResult = new HashMap<String, String>();
    Map result = null;
    DatanodeInfo node1 = new DatanodeInfo(new DatanodeID("node1"));
    DatanodeInfo node2 = new DatanodeInfo(new DatanodeID("node2a"));
    DatanodeInfo node3 = new DatanodeInfo(new DatanodeID("node2b"));
    DatanodeInfo node4 = new DatanodeInfo(new DatanodeID("node4"));
    DatanodeInfo node5 = new DatanodeInfo(new DatanodeID("node5"));

    node1.setNetworkLocation("/rack1");
    node2.setNetworkLocation("/rack2a");
    node3.setNetworkLocation("/rack2b");
    node4.setNetworkLocation("/rack4");
    node5.setNetworkLocation("/rack5");

    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node2, node5 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node2, node3 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node2, node3, node4 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node4, node5 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node3, node5 }));
    expectedResult.put("hdfs_R", "/rack1");
    expectedResult.put("hdfs_r", "/rack1|/rack2a|/rack2b|/rack5|/rack4");

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node2, node5 }));
    expectedResult.put("hdfs_R", "/rack1");
    expectedResult.put("hdfs_r", "/rack1|/rack2a|/rack5");

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node3 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node5 }));
    expectedResult.put("hdfs_R", "/rack1");
    expectedResult.put("hdfs_r", "/rack1|/rack2b|/rack5");

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1 }));
    expectedResult.put("hdfs_R", "/rack1");
    expectedResult.put("hdfs_r", "/rack1");

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] {}));
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, null));
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks.clear();
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);

    blocks = null;
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "buildRackRequests", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The buildRackRequests() method did not build the expected requests: ", expectedResult,
            result);
}

From source file:com.sun.grid.herd.HerdJsvTest.java

License:Open Source License

/**
 * Test of collateRacks() method, of class HerdJsv.
 *///from   w w w  . j av  a  2s .  c om
public void testCollateRacks() throws Exception {
    System.out.println("collateRacks()");
    HerdJsv instance = new HerdJsv();
    List<LocatedBlock> blocks = new ArrayList<LocatedBlock>(5);
    Map<String, Integer> expectedResult = new HashMap<String, Integer>();
    Map result = null;
    DatanodeInfo node1 = new DatanodeInfo(new DatanodeID("node1"));
    DatanodeInfo node2 = new DatanodeInfo(new DatanodeID("node2"));
    DatanodeInfo node3 = new DatanodeInfo(new DatanodeID("node3"));
    DatanodeInfo node4 = new DatanodeInfo(new DatanodeID("node4"));
    DatanodeInfo node5 = new DatanodeInfo(new DatanodeID("node5"));

    node1.setNetworkLocation("/rack1");
    node2.setNetworkLocation("/rack2");
    node3.setNetworkLocation("/rack3");
    node4.setNetworkLocation("/rack4");
    node5.setNetworkLocation("/rack5");

    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node2, node5 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node2, node3 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node2, node3, node4 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node4, node5 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node3, node5 }));
    expectedResult.put("/rack1", 4);
    expectedResult.put("/rack2", 3);
    expectedResult.put("/rack3", 3);
    expectedResult.put("/rack4", 2);
    expectedResult.put("/rack5", 3);

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1, node3, node5 }));
    expectedResult.clear();
    expectedResult.put("/rack1", 1);
    expectedResult.put("/rack3", 1);
    expectedResult.put("/rack5", 1);

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node3 }));
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node5 }));
    expectedResult.clear();
    expectedResult.put("/rack1", 1);
    expectedResult.put("/rack3", 1);
    expectedResult.put("/rack5", 1);

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] { node1 }));
    expectedResult.clear();
    expectedResult.put("/rack1", 1);

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, new DatanodeInfo[] {}));
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    blocks.add(new LocatedBlock(null, null));
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks.clear();
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);

    blocks = null;
    expectedResult.clear();

    result = (Map) callPrivateMethod(instance, "collateRacks", new Class[] { Collection.class },
            new Object[] { blocks });
    assertEquals("The collateRacks() method did not count the racks correctly", expectedResult, result);
}