[
https://issues.apache.org/jira/browse/HBASE-16554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matteo Bertozzi 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. 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)
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
> Procedure V2 - handle corruption of WAL trailer
> -----------------------------------------------
>
> Key: HBASE-16554
> URL: https://issues.apache.org/jira/browse/HBASE-16554
> Project: HBase
> Issue Type: Sub-task
> Reporter: Appy
> Assignee: Appy
> Attachments: 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. 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)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)