rmdmattingly commented on code in PR #6040:
URL: https://github.com/apache/hbase/pull/6040#discussion_r1768933585


##########
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/BackupLogCleaner.java:
##########
@@ -81,39 +81,55 @@ public void init(Map<String, Object> params) {
     }
   }
 
-  private Map<Address, Long> getServerToNewestBackupTs(List<BackupInfo> 
backups)
+  /**
+   * Calculates the timestamp boundary up to which all backup roots have 
already included the WAL.
+   * I.e. WALs with a lower (= older) or equal timestamp are no longer needed 
for future incremental
+   * backups.
+   */
+  private Map<Address, Long> serverToPreservationBoundaryTs(List<BackupInfo> 
backups)

Review Comment:
   Answering my own questions a bit here, I think I needed to look deeper into 
how the BackupInfo gets constructed. When the tableSetTimestampMap is 
[populated](https://github.com/apache/hbase/blob/78da9e962b56846cea1db6dd43f9cd02c632ecf0/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupSystemTable.java#L926-L966),
 **it will contain entries for every table in the root**, not just every table 
in the given backup. So while B4 might only pertain to T2, its corresponding 
BackupInfo will be aware of the timestamps for T1. That's a confusing design 
imo, but if  true then I think this logic is sound



-- 
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]

Reply via email to