hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HBASE-15208) AsyncProcess seems to rely on regionId() to be unique which is not
Date Sat, 29 Apr 2017 04:01:04 GMT

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

Chia-Ping Tsai resolved HBASE-15208.
------------------------------------
    Resolution: Duplicate

It is fixed. see HBASE-15479

> AsyncProcess seems to rely on regionId() to be unique which is not
> ------------------------------------------------------------------
>
>                 Key: HBASE-15208
>                 URL: https://issues.apache.org/jira/browse/HBASE-15208
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 2.0.0, 1.2.0, 1.3.0, 1.0.3, 1.1.3, 0.98.16.1
>            Reporter: Matteo Bertozzi
>
> AsyncProcess is using getRegionId() to identify a region. It looks like the original
implementation was using encodedName which is unique, but then we switched to regionIds with
HBASE-9988.
> {code}
> protected boolean canTakeOperation(HRegionLocation loc,
>                                      Map<Long, Boolean> regionsIncluded,
>                                      Map<ServerName, Boolean> serversIncluded)
{
>     long regionId = loc.getRegionInfo().getRegionId();
>     Boolean regionPrevious = regionsIncluded.get(regionId);
>     if (regionPrevious != null) {
>       // We already know what to do with this region.
>       return regionPrevious;
>     }
> {code}
> The RegionId is not unique, since it is a timestamp. and specifically in case we create
a table with splits each region get the same regionId. (from the doc of HRegionInfo about
regionId, looks like that field should be named creationTimestamp or something like that for
a more expressive name).
> I'm unsure on what are the consequences. from a couple of tests and the code looks like
it may just allow more tasks than the one configured by the max task allowed conf. but I'd
let someone else familiar with this code look into it.
> Also TestAsyncProcess has the HRegionInfo hr1, hr2, hr3 with different regionIds, if
we switch them to be the same id we have a testSubmitBusyRegionServer() failing



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message