HADOOP-13705. Revert HADOOP-13534 Remove unused TrashPolicy#getInstance and initialize code.

This commit is contained in:
Andrew Wang 2016-10-11 13:46:07 -07:00
parent 4b32b1420d
commit 8a09bf7c19
3 changed files with 49 additions and 0 deletions

View File

@ -36,6 +36,17 @@ public abstract class TrashPolicy extends Configured {
protected Path trash; // path to trash directory protected Path trash; // path to trash directory
protected long deletionInterval; // deletion interval for Emptier protected long deletionInterval; // deletion interval for Emptier
/**
* Used to setup the trash policy. Must be implemented by all TrashPolicy
* implementations.
* @param conf the configuration to be used
* @param fs the filesystem to be used
* @param home the home directory
* @deprecated Use {@link #initialize(Configuration, FileSystem)} instead.
*/
@Deprecated
public abstract void initialize(Configuration conf, FileSystem fs, Path home);
/** /**
* Used to setup the trash policy. Must be implemented by all TrashPolicy * Used to setup the trash policy. Must be implemented by all TrashPolicy
* implementations. Different from initialize(conf, fs, home), this one does * implementations. Different from initialize(conf, fs, home), this one does
@ -99,6 +110,25 @@ public Path getCurrentTrashDir(Path path) throws IOException {
*/ */
public abstract Runnable getEmptier() throws IOException; public abstract Runnable getEmptier() throws IOException;
/**
* Get an instance of the configured TrashPolicy based on the value
* of the configuration parameter fs.trash.classname.
*
* @param conf the configuration to be used
* @param fs the file system to be used
* @param home the home directory
* @return an instance of TrashPolicy
* @deprecated Use {@link #getInstance(Configuration, FileSystem)} instead.
*/
@Deprecated
public static TrashPolicy getInstance(Configuration conf, FileSystem fs, Path home) {
Class<? extends TrashPolicy> trashClass = conf.getClass(
"fs.trash.classname", TrashPolicyDefault.class, TrashPolicy.class);
TrashPolicy trash = ReflectionUtils.newInstance(trashClass, conf);
trash.initialize(conf, fs, home); // initialize TrashPolicy
return trash;
}
/** /**
* Get an instance of the configured TrashPolicy based on the value * Get an instance of the configured TrashPolicy based on the value
* of the configuration parameter fs.trash.classname. * of the configuration parameter fs.trash.classname.

View File

@ -75,6 +75,21 @@ private TrashPolicyDefault(FileSystem fs, Configuration conf)
initialize(conf, fs); initialize(conf, fs);
} }
/**
* @deprecated Use {@link #initialize(Configuration, FileSystem)} instead.
*/
@Override
@Deprecated
public void initialize(Configuration conf, FileSystem fs, Path home) {
this.fs = fs;
this.deletionInterval = (long)(conf.getFloat(
FS_TRASH_INTERVAL_KEY, FS_TRASH_INTERVAL_DEFAULT)
* MSECS_PER_MINUTE);
this.emptierInterval = (long)(conf.getFloat(
FS_TRASH_CHECKPOINT_INTERVAL_KEY, FS_TRASH_CHECKPOINT_INTERVAL_DEFAULT)
* MSECS_PER_MINUTE);
}
@Override @Override
public void initialize(Configuration conf, FileSystem fs) { public void initialize(Configuration conf, FileSystem fs) {
this.fs = fs; this.fs = fs;

View File

@ -691,6 +691,10 @@ public static void main(String [] arg) throws IOException{
public static class TestTrashPolicy extends TrashPolicy { public static class TestTrashPolicy extends TrashPolicy {
public TestTrashPolicy() { } public TestTrashPolicy() { }
@Override
public void initialize(Configuration conf, FileSystem fs, Path home) {
}
@Override @Override
public void initialize(Configuration conf, FileSystem fs) { public void initialize(Configuration conf, FileSystem fs) {
} }