hgromer commented on PR #7746:
URL: https://github.com/apache/hbase/pull/7746#issuecomment-3948501716
> Does this PR actually fix something? The test you've added already worked
pre-PR-changes, and I see no change in the logic of the BackupLogCleaner.
>
> I have no objection to changes that aim to introduce better logging, but
that should be clear from the description of the associated ticket.
The behavior of the BackupLogCleaner is changed due to the changes in
`BackupBoundaries#isDeletable`. Currently, the behavior of BackupBoundaries is
to treat these host --> wal boundaries as global. At the moment, if no host -->
wal boundary exists, we fall back to the existing `oldestStartCode`. This is a
problem
Imagine the following scenario:
1. We take a full backup of table x and y
2. A new host comes online
3. We successfully take a backup of x, but not y
4. The log cleaner runs, sees the new boundary for table x {new host -->
currentTs} and deletes WAL files that have not been included in a backup for
table y
5. We take a backup of table y, and miss out on the WAL files from the new
host that we've deleted
This PR updates so that boundaries are no longer global, which prevents this
problem. On second glance, you're right the test does a poor job proving this
out, let me update
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]