HADOOP-15736. Trash : Negative Value For Deletion Interval Leads To Abnormal Behaviour. Contributed by Ayush Saxena.
This commit is contained in:
parent
6fc293fece
commit
7ad27e97f0
|
@ -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")
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
Loading…
Reference in New Issue