package org.apache.hadoop.hdfs; import java.util.Random; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class TestAvatarSetQuota { private static Configuration conf; private static MiniAvatarCluster cluster; private static FileSystem fs; @BeforeClass public static void setUpBeforeClass() throws Exception { MiniAvatarCluster.createAndStartZooKeeper(); conf = new Configuration(); conf.setInt("dfs.block.size", 1024); cluster = new MiniAvatarCluster(conf, 3, true, null, null); fs = cluster.getFileSystem(); } @AfterClass public static void tearDownAfterClass() throws Exception { cluster.shutDown(); MiniAvatarCluster.shutDownZooKeeper(); } @Test public void testAvatarSetQuota() throws Exception { String test = "/testAvatarSetQuota"; DFSTestUtil util = new DFSTestUtil(test, 10, 10, 1024); util.createFiles(fs, test); FSDataOutputStream out = fs.create(new Path(test + "/abc")); byte[] buffer = new byte[10 * 1024]; Random r = new Random(); r.nextBytes(buffer); out.write(buffer); out.sync(); ((DistributedFileSystem) fs).setQuota(new Path(test), 5, -1); out.close(); cluster.getStandbyAvatar(0).avatar.quiesceStandby(-1); } }