You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2022/06/16 16:38:00 UTC

[jira] [Resolved] (HBASE-8020) CompactionRequest should not be based on regionId, but the encoded name instead

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

Andrew Kyle Purtell resolved HBASE-8020.
----------------------------------------
      Assignee:     (was: Hua Xiang)
    Resolution: Not A Problem

> CompactionRequest should not be based on regionId, but the encoded name instead
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-8020
>                 URL: https://issues.apache.org/jira/browse/HBASE-8020
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.2
>            Reporter: Harsh J
>            Priority: Minor
>
> The compaction state check call of HRegionServer#getCompactionState extracts out the regionId (timestamp) of a region to store/check the compaction state. In usual runtime this is fine, as the timestamp is granular and varied for each region, making it practically unique but in no way should a timestamp be considered unique. A bug that comes out of this semi-bad assumption is that when a user pre-splits their table, the regionId is all the same across all regions created, leading to this check call returning improper values.
> The ideal identifier could be the table name + encoded region name, if not the whole HRegionInfo identifier string itself.
> Given that the user API just sends a normal identifier which is reevaluated, such a change shouldn't break anything.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)