[ 
https://issues.apache.org/jira/browse/HBASE-16554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Appy updated HBASE-16554:
-------------------------
    Description: 
If the last wal was closed cleanly, the global tracker will be the last wal 
tracker (no rebuild needed)
if the last wal does not have a tracker (corrupted/master-killed). on load() we 
will rebuild the global tracker.

To compute quickly which files should be deleted, we also want the tracker of 
each file.
if the wal was closed properly and has a tracker we are good, if not we need to 
rebuild the tracker for that file.
each file tracker contains a bitmap about what is in the wal (the updated 
bitmap), which is easy to compute just by reading each entry of the wal.

  was:
If the last wal was closed cleanly, the global tracker will be the last wal 
tracker (no rebuild needed)
if the last wal does not have a tracker (corrupted/master-killed). on load() we 
will rebuild the global tracker.

To compute quickly which files should be deleted, we also want the tracker of 
each file.
if the wal was closed properly and has a tracker we are good, if not we need to 
rebuild the tracker for that file.
each file tracker contains a bitmap about what is in the wal (the updated 
bitmap), which is easy to compute just by reading each entry of the wal. and a 
bitmap that keeps track of the "running procedures" up to that wal (the deleted 
bitmap). The delete bitmap requires a bit of post read-all-wals work. and it 
will basically require to AND the deleted bitmap of wal\(i\) and wal(i-1)


> Procedure V2 - Recover 'updated' part of WAL tracker if trailer is corrupted.
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-16554
>                 URL: https://issues.apache.org/jira/browse/HBASE-16554
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Appy
>            Assignee: Appy
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16554.master.001.patch, 
> HBASE-16554.master.002.patch, tracker-rebuild.patch
>
>
> If the last wal was closed cleanly, the global tracker will be the last wal 
> tracker (no rebuild needed)
> if the last wal does not have a tracker (corrupted/master-killed). on load() 
> we will rebuild the global tracker.
> To compute quickly which files should be deleted, we also want the tracker of 
> each file.
> if the wal was closed properly and has a tracker we are good, if not we need 
> to rebuild the tracker for that file.
> each file tracker contains a bitmap about what is in the wal (the updated 
> bitmap), which is easy to compute just by reading each entry of the wal.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to