[
https://issues.apache.org/jira/browse/HBASE-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12641150#action_12641150
]
Billy Pearson commented on HBASE-938:
-------------------------------------
Major compaction check is done in the compaction check so it should be getting
checked when there is a memcache flush,open,or a splt.
There should not be major compaction triggered for all region on a restart
that's not how the code is written to do the major compactions.
If a table gets no update to trigger a compaction check then the stale (over
ttl and max_versions) data never gets removed form the table.
I have seen this happen on a idle table with no updates over a long time.
What we should be doing I thank is on the optional flush is queue up a
compaction check where there is something to flush or not that way if a major
compaction is needed it will run with in the optional flush time setting
This would allow us to check the hbase.hregion.majorcompaction more
periodically on tables with little updates.
The way the code is now If there is no minor or major compaction needed then it
will do do nothing so costing no extra resources to check if a major compaction
is needed.
> major compaction period is not checked periodically
> ---------------------------------------------------
>
> Key: HBASE-938
> URL: https://issues.apache.org/jira/browse/HBASE-938
> Project: Hadoop HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.18.0, 0.18.1
> Environment: HBase 0.18 branch (should be RC1) + Hadoop 0.18 branch
> Reporter: Rong-En Fan
> Priority: Critical
> Fix For: 0.19.0
>
>
> The major compaction period, hbase.hregion.majorcompaction, is not checked
> periodically. Currently, we only request major compaction when the region is
> open or split at which point we check whether the major compaction period is
> due.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.