[
https://issues.apache.org/jira/browse/HBASE-29776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18044749#comment-18044749
]
Hernan Gelaf-Romer commented on HBASE-29776:
--------------------------------------------
[~dieterdp_ng] Any thoughts here? I think a simple fix is to change that
conditional to
Long newTimestamp = newestTimestamps.get(host);
if (newTimestamp != null && currentLogTS > newTimestamp) \{
newestLogs.add(currentLogFile);
}
> Log filtering in IncrementalBackupManager can lead to data loss
> ---------------------------------------------------------------
>
> Key: HBASE-29776
> URL: https://issues.apache.org/jira/browse/HBASE-29776
> Project: HBase
> Issue Type: Bug
> Components: backup&restore
> Reporter: Hernan Gelaf-Romer
> Priority: Major
>
> At the moment, incremental backups will filter out old wals that belong to RS
> which do not have any active WAL files.
>
> The code
>
> {code:java}
> // It is possible that a host in .oldlogs is an obsolete region server
> // so newestTimestamps.get(host) here can be null.
> // Even if these logs belong to a obsolete region server, we still need
> // to include they to avoid loss of edits for backup.
> Long newTimestamp = newestTimestamps.get(host);
> if (newTimestamp == null || currentLogTS > newTimestamp) {
> newestLogs.add(currentLogFile);
> }{code}
> Is doing the opposite of what the comment (correctly) says.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)