From b5cbf7365b8ed86b6d77ab21253fba1f0a691671 Mon Sep 17 00:00:00 2001 From: Reid Chan Date: Tue, 9 Jan 2018 10:53:36 +0800 Subject: [PATCH] HBASE-19736 Mark BaseLogCleanerDelegate #isLogDeletable(FileStatus) deprecated and use #isFileDeletable(FileStatus) instead --- .../hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.java | 2 +- .../hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java | 5 +++-- .../hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java | 11 ++++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.java index 8de59bd1c9..d8a3f92fe6 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.java @@ -23,7 +23,7 @@ import org.apache.yetus.audience.InterfaceAudience; * Base class for the hfile cleaning function inside the master. By default, only the * {@link TimeToLiveHFileCleaner} is called. *

- * If other effects are needed, implement your own LogCleanerDelegate and add it to the + * If other effects are needed, implement your own HFileCleanerDelegate and add it to the * configuration "hbase.master.hfilecleaner.plugins", which is a comma-separated list of fully * qualified class names. The HFileCleaner will build the cleaner chain in * order the order specified by the configuration. diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java index b1f9d0b4fb..0df3346f29 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java @@ -40,15 +40,16 @@ public abstract class BaseLogCleanerDelegate extends BaseFileCleanerDelegate { @Override public boolean isFileDeletable(FileStatus fStat) { - return isLogDeletable(fStat); + return false; } /** - * Should the master delete the log or keep it? *

* Implementing classes should override {@link #isFileDeletable(FileStatus)} instead. * @param fStat file status of the file * @return true if the log is deletable, false (default) if not + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * Use {@link #isFileDeletable(FileStatus)}. */ @Deprecated public boolean isLogDeletable(FileStatus fStat) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java index 7385273e71..81463fbaed 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java @@ -41,7 +41,7 @@ public class TimeToLiveLogCleaner extends BaseLogCleanerDelegate { private boolean stopped = false; @Override - public boolean isLogDeletable(FileStatus fStat) { + public boolean isFileDeletable(FileStatus fStat) { // Files are validated for the second time here, // if it causes a bottleneck this logic needs refactored if (!AbstractFSWALProvider.validateWALFilename(fStat.getPath().getName())) { @@ -64,6 +64,15 @@ public class TimeToLiveLogCleaner extends BaseLogCleanerDelegate { return life > ttl; } + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * Use {@link #isFileDeletable(FileStatus)}. + */ + @Override + public boolean isLogDeletable(FileStatus fStat) { + return isFileDeletable(fStat); + } + @Override public void setConf(Configuration conf) { super.setConf(conf); -- 2.15.0