Example usage for org.apache.hadoop.hdfs.protocol DatanodeID DatanodeID

List of usage examples for org.apache.hadoop.hdfs.protocol DatanodeID DatanodeID

Introduction

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

Prototype

public DatanodeID(DatanodeID from) 

Source Link

Usage

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

License:Open Source License

/**
 * Test of buildRackRequests() method, of class HerdJsv.
 *///www .j  ava 2  s  .c om
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.
 */// ww  w  . ja v a  2 s .c  o  m
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);
}

From source file:io.hops.metadata.adaptor.INodeDALAdaptor.java

License:Apache License

@Override
public org.apache.hadoop.hdfs.server.namenode.INode convertDALtoHDFS(INode hopINode) throws StorageException {
    org.apache.hadoop.hdfs.server.namenode.INode inode = null;
    if (hopINode != null) {
        DataInputBuffer buffer = new DataInputBuffer();
        buffer.reset(hopINode.getPermission(), hopINode.getPermission().length);
        PermissionStatus ps = null;//  w  w w  .jav  a  2  s.com
        try {
            ps = PermissionStatus.read(buffer);
        } catch (IOException e) {
            throw new StorageException(e);
        }

        if (hopINode.isDir()) {
            if (hopINode.isDirWithQuota()) {
                inode = new INodeDirectoryWithQuota(hopINode.getName(), ps);
            } else {
                String iname = (hopINode.getName().length() == 0) ? INodeDirectory.ROOT_NAME
                        : hopINode.getName();
                inode = new INodeDirectory(iname, ps);
            }

            inode.setAccessTimeNoPersistance(hopINode.getAccessTime());
            inode.setModificationTimeNoPersistance(hopINode.getModificationTime());
        } else if (hopINode.getSymlink() != null) {
            inode = new INodeSymlink(hopINode.getSymlink(), hopINode.getModificationTime(),
                    hopINode.getAccessTime(), ps);
        } else {
            if (hopINode.isUnderConstruction()) {
                DatanodeID dnID = (hopINode.getClientNode() == null || hopINode.getClientNode().isEmpty())
                        ? null
                        : new DatanodeID(hopINode.getClientNode());

                inode = new INodeFileUnderConstruction(ps, INodeFile.getBlockReplication(hopINode.getHeader()),
                        INodeFile.getPreferredBlockSize(hopINode.getHeader()), hopINode.getModificationTime(),
                        hopINode.getClientName(), hopINode.getClientMachine(), dnID);

                inode.setAccessTimeNoPersistance(hopINode.getAccessTime());
            } else {
                inode = new INodeFile(ps, hopINode.getHeader(), hopINode.getModificationTime(),
                        hopINode.getAccessTime());
            }
            ((INodeFile) inode).setGenerationStampNoPersistence(hopINode.getGenerationStamp());
        }
        inode.setIdNoPersistance(hopINode.getId());
        inode.setLocalNameNoPersistance(hopINode.getName());
        inode.setParentIdNoPersistance(hopINode.getParentId());
        inode.setSubtreeLocked(hopINode.isSubtreeLocked());
        inode.setSubtreeLockOwner(hopINode.getSubtreeLockOwner());
    }
    return inode;
}