[
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)