.create(path, true, 4096, (short) 2, (long) 2048);
stm.write(new byte[4096]);
stm.close();
FSDataInputStream is = fs.open(path);
DFSDataInputStream dis = (DFSDataInputStream) is;
TestCase.assertNotNull(dis);
is.read(new byte[1024]);
DatanodeInfo currentDn1 = dis.getCurrentDatanode();
dis.setUnfavoredNodes(Arrays.asList(new DatanodeInfo[] { currentDn1 }));
is.read(new byte[512]);
DatanodeInfo currentDn2 = dis.getCurrentDatanode();
TestCase.assertTrue(!currentDn2.equals(currentDn1));
dis.setUnfavoredNodes(Arrays.asList(new DatanodeInfo[] { currentDn1, currentDn2 }));
is.read(new byte[512]);
TestCase.assertEquals(currentDn1, dis.getCurrentDatanode());
is.read(new byte[1024]);
TestCase.assertEquals(dis.getAllBlocks().get(1).getLocations()[0],
dis.getCurrentDatanode());
}
finally {
if (cluster != null) {cluster.shutdown();}
}
}