コード例 #1
0
        public virtual void TestSnapshotMethods()
        {
            string dir = "/testNamenodeRetryCache/testCreateSnapshot/src";

            ResetCall();
            nnRpc.Mkdirs(dir, perm, true);
            nnRpc.AllowSnapshot(dir);
            // Test retry of create snapshot
            NewCall();
            string name = nnRpc.CreateSnapshot(dir, "snap1");

            NUnit.Framework.Assert.AreEqual(name, nnRpc.CreateSnapshot(dir, "snap1"));
            NUnit.Framework.Assert.AreEqual(name, nnRpc.CreateSnapshot(dir, "snap1"));
            NUnit.Framework.Assert.AreEqual(name, nnRpc.CreateSnapshot(dir, "snap1"));
            // Non retried calls should fail
            NewCall();
            try
            {
                nnRpc.CreateSnapshot(dir, "snap1");
                NUnit.Framework.Assert.Fail("testSnapshotMethods expected exception is not thrown"
                                            );
            }
            catch (IOException)
            {
            }
            // exptected
            // Test retry of rename snapshot
            NewCall();
            nnRpc.RenameSnapshot(dir, "snap1", "snap2");
            nnRpc.RenameSnapshot(dir, "snap1", "snap2");
            nnRpc.RenameSnapshot(dir, "snap1", "snap2");
            // Non retried calls should fail
            NewCall();
            try
            {
                nnRpc.RenameSnapshot(dir, "snap1", "snap2");
                NUnit.Framework.Assert.Fail("testSnapshotMethods expected exception is not thrown"
                                            );
            }
            catch (IOException)
            {
            }
            // expected
            // Test retry of delete snapshot
            NewCall();
            nnRpc.DeleteSnapshot(dir, "snap2");
            nnRpc.DeleteSnapshot(dir, "snap2");
            nnRpc.DeleteSnapshot(dir, "snap2");
            // Non retried calls should fail
            NewCall();
            try
            {
                nnRpc.DeleteSnapshot(dir, "snap2");
                NUnit.Framework.Assert.Fail("testSnapshotMethods expected exception is not thrown"
                                            );
            }
            catch (IOException)
            {
            }
        }