HADOOP-15736. Trash : Negative Value For Deletion Interval Leads To Abnormal Behaviour. Contributed by Ayush Saxena.
(cherry picked from commit 7ad27e97f05b13b33fdcef9cb63ace9c1728bfb5) (cherry picked from commit 2aa385463305beaae8770c8deb22faed6943ef00) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d2655ea6 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d2655ea6 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d2655ea6 Branch: refs/heads/branch-3.0 Commit: d2655ea60ccc2129105b9e2b76e4606b46ff283b Parents: 78e0c0a Author: Vinayakumar B <vinayakum...@apache.org> Authored: Thu Sep 20 09:31:35 2018 +0530 Committer: Vinayakumar B <vinayakum...@apache.org> Committed: Thu Sep 20 09:34:37 2018 +0530 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/fs/TrashPolicyDefault.java | 8 +++++++- .../src/test/java/org/apache/hadoop/fs/TestTrash.java | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d2655ea6/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java index 9c6a685..f2c37e3 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java @@ -101,6 +101,12 @@ public class TrashPolicyDefault extends TrashPolicy { this.emptierInterval = (long)(conf.getFloat( FS_TRASH_CHECKPOINT_INTERVAL_KEY, FS_TRASH_CHECKPOINT_INTERVAL_DEFAULT) * MSECS_PER_MINUTE); + if (deletionInterval < 0) { + LOG.warn("Invalid value {} for deletion interval," + + " deletion interaval can not be negative." + + "Changing to default value 0", deletionInterval); + this.deletionInterval = 0; + } } private Path makeTrashRelativePath(Path basePath, Path rmFilePath) { @@ -109,7 +115,7 @@ public class TrashPolicyDefault extends TrashPolicy { @Override public boolean isEnabled() { - return deletionInterval != 0; + return deletionInterval > 0; } @SuppressWarnings("deprecation") http://git-wip-us.apache.org/repos/asf/hadoop/blob/d2655ea6/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestTrash.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestTrash.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestTrash.java index 568821b..04f56fb 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestTrash.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestTrash.java @@ -132,6 +132,9 @@ public class TestTrash { conf.setLong(FS_TRASH_INTERVAL_KEY, 0); // disabled assertFalse(new Trash(conf).isEnabled()); + conf.setLong(FS_TRASH_INTERVAL_KEY, -1); // disabled + assertFalse(new Trash(conf).isEnabled()); + conf.setLong(FS_TRASH_INTERVAL_KEY, 10); // 10 minute assertTrue(new Trash(conf).isEnabled()); @@ -526,6 +529,9 @@ public class TestTrash { conf.setLong(FS_TRASH_INTERVAL_KEY, 0); // disabled assertFalse(new Trash(conf).isEnabled()); + conf.setLong(FS_TRASH_INTERVAL_KEY, -1); // disabled + assertFalse(new Trash(conf).isEnabled()); + conf.setLong(FS_TRASH_INTERVAL_KEY, 10); // 10 minute assertTrue(new Trash(conf).isEnabled()); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org