[
https://issues.apache.org/jira/browse/HBASE-28218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-28218:
------------------------------
Summary: Add a check for getQueueStorage().hasData() in the
getDeletableFiles method of ReplicationLogCleaner (was: dd a check for
getQueueStorage().hasData() in the getDeletableFiles method of
ReplicationLogCleaner)
> Add a check for getQueueStorage().hasData() in the getDeletableFiles method
> of ReplicationLogCleaner
> ----------------------------------------------------------------------------------------------------
>
> Key: HBASE-28218
> URL: https://issues.apache.org/jira/browse/HBASE-28218
> Project: HBase
> Issue Type: Bug
> Components: wal
> Affects Versions: 3.0.0
> Reporter: Haiping lv
> Assignee: Haiping lv
> Priority: Major
>
> There are a large number of oldwal files in the oldwal directory, and the
> default value of hbase.master.logcleaner.ttl is 10 minutes. Upon observation,
> it has been noticed that no oldwal files have been cleared.
> Through analyzing the source code, it has been discovered that the following
> logic contains a problem. When LogCleaner executes the checkAndDeleteFiles
> method, it calls the getDeletableFiles method of ReplicationLogCleaner. One
> of the logics in this method is that if canFilter is false, it will directly
> return Collections.emptyList(), which means that the wal data filtered out by
> TimeToLiveLogCleaner will be filtered out. This in turn leads to the files
> under oldwal not being able to be cleared.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)