junegunn opened a new pull request, #8646:
URL: https://github.com/apache/hbase/pull/8646

   Jira: HBASE-30377
   
   The timestamp in a WAL's name is its creation time, which only bounds its 
entries from below. A WAL stays open until it rolls, so one created before 
`startTime` can still hold entries in range, and comparing the name against 
`startTime` threw the whole file away.
   
   ```
   startTime = 100, endTime = 200
   WAL created at t=50, rolled at t=150  ->  holds entries 50..150
     50 <= 200 passes, but 50 >= 100 fails  ->  file skipped
     lost: every entry in 100..150
   ```
   
   ### Fix
   
   Compare against the modification time instead, which bounds the entries from 
above. That is only meaningful once the file is closed, since HDFS leaves mtime 
at the creation time through `hflush` and `hsync`, so it is gated on 
`DistributedFileSystem.isFileClosed`. Anything we cannot answer for, including 
non-HDFS filesystems, is treated as open and kept.


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