From common-commits-return-82450-archive-asf-public=cust-asf.ponee.io@hadoop.apache.org Tue May 8 00:36:34 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 20947180648 for ; Tue, 8 May 2018 00:36:33 +0200 (CEST) Received: (qmail 8342 invoked by uid 500); 7 May 2018 22:36:33 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 8333 invoked by uid 99); 7 May 2018 22:36:33 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 May 2018 22:36:33 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id F34DFE09F4; Mon, 7 May 2018 22:36:32 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: xiao@apache.org To: common-commits@hadoop.apache.org Message-Id: <2c3dadea0c9c4147bba030ca93c2ef46@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: HDFS-12981. renameSnapshot a Non-Existent snapshot to itself should throw error. Contributed by Kitti Nanasi. Date: Mon, 7 May 2018 22:36:32 +0000 (UTC) Repository: hadoop Updated Branches: refs/heads/trunk 3a43ac285 -> 696a4be0d HDFS-12981. renameSnapshot a Non-Existent snapshot to itself should throw error. Contributed by Kitti Nanasi. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/696a4be0 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/696a4be0 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/696a4be0 Branch: refs/heads/trunk Commit: 696a4be0daac00dd3bb64801d9fbe659aef9e089 Parents: 3a43ac2 Author: Xiao Chen Authored: Mon May 7 15:34:22 2018 -0700 Committer: Xiao Chen Committed: Mon May 7 15:36:29 2018 -0700 ---------------------------------------------------------------------- .../snapshot/DirectorySnapshottableFeature.java | 6 +++--- .../apache/hadoop/hdfs/TestSnapshotCommands.java | 5 +++++ .../namenode/snapshot/TestSnapshotRename.java | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/696a4be0/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectorySnapshottableFeature.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectorySnapshottableFeature.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectorySnapshottableFeature.java index 6adb770..d3083cf 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectorySnapshottableFeature.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectorySnapshottableFeature.java @@ -119,14 +119,14 @@ public class DirectorySnapshottableFeature extends DirectoryWithSnapshotFeature */ public void renameSnapshot(String path, String oldName, String newName) throws SnapshotException { - if (newName.equals(oldName)) { - return; - } final int indexOfOld = searchSnapshot(DFSUtil.string2Bytes(oldName)); if (indexOfOld < 0) { throw new SnapshotException("The snapshot " + oldName + " does not exist for directory " + path); } else { + if (newName.equals(oldName)) { + return; + } final byte[] newNameBytes = DFSUtil.string2Bytes(newName); int indexOfNew = searchSnapshot(newNameBytes); if (indexOfNew >= 0) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/696a4be0/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSnapshotCommands.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSnapshotCommands.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSnapshotCommands.java index 0b2b23c..2b5a69d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSnapshotCommands.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSnapshotCommands.java @@ -155,6 +155,11 @@ public class TestSnapshotCommands { DFSTestUtil.FsShellRun("-renameSnapshot /sub1 sn.nonexist sn.rename", 1, "renameSnapshot: The snapshot sn.nonexist does not exist for directory /sub1", conf); + //try renaming a non-existing snapshot to itself + DFSTestUtil.FsShellRun("-renameSnapshot /sub1 sn.nonexist sn.nonexist", 1, + "renameSnapshot: The snapshot sn.nonexist " + + "does not exist for directory /sub1", conf); + //try renaming to existing snapshots DFSTestUtil.FsShellRun("-createSnapshot /sub1 sn.new", conf); DFSTestUtil.FsShellRun("-renameSnapshot /sub1 sn.new sn.rename", 1, http://git-wip-us.apache.org/repos/asf/hadoop/blob/696a4be0/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java index 01157e8..1d46e4e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java @@ -183,6 +183,22 @@ public class TestSnapshotRename { exception.expectMessage(error); hdfs.renameSnapshot(sub1, "wrongName", "s2"); } + + /** + * Test rename a non-existing snapshot to itself. + */ + @Test (timeout=60000) + public void testRenameNonExistingSnapshotToItself() throws Exception { + DFSTestUtil.createFile(hdfs, file1, BLOCKSIZE, REPLICATION, seed); + // Create snapshot for sub1 + SnapshotTestHelper.createSnapshot(hdfs, sub1, "s1"); + + exception.expect(SnapshotException.class); + String error = "The snapshot wrongName does not exist for directory " + + sub1.toString(); + exception.expectMessage(error); + hdfs.renameSnapshot(sub1, "wrongName", "wrongName"); + } /** * Test rename a snapshot to another existing snapshot --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org