[
https://issues.apache.org/jira/browse/HBASE-12859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14278329#comment-14278329
]
Lars Hofhansl commented on HBASE-12859:
---------------------------------------
So the wrinkle is that compaction are per store (column family) and we do not
have any place to put per store compaction timestamps. META does not track
stores but regions.
The good news is that there is another way: We can simply take the age of the
oldest HFile of each store of each region of a table. That oldest timestamp is
the age at which we safely make the above decisions. So all the data is already
in place, we simply need to expose a way to get to it.
The bad news: We'll have to get the fileStatus of each and every file, each is
a NN operation. We're doing that before major compactions to check whether it
is time to do a major compaction again, so maybe it's OK.
> Major compaction completion tracker
> -----------------------------------
>
> Key: HBASE-12859
> URL: https://issues.apache.org/jira/browse/HBASE-12859
> Project: HBase
> Issue Type: Brainstorming
> Reporter: Lars Hofhansl
>
> In various scenarios it is helpful to know a guaranteed timestamp up to which
> all data in a table was major compacted.
> We can do that keeping a major compaction timestamp in META.
> A client then can iterate all region of a table and find a definite
> timestamp, which is the oldest compaction timestamp of any of the regions.
> [~apurtell], [~ghelmling], [~giacomotaylor].
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)