[ 
https://issues.apache.org/jira/browse/HBASE-13606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14527625#comment-14527625
 ] 

Matteo Bertozzi commented on HBASE-13606:
-----------------------------------------

[~ndimiduk] yeah, the failures are related. this is a rabbit hole. i'm working 
on a patch, it is not that simple as I thought since there are various places 
where assignment is not sync.
also TestCreateTableProcedure will not be fixed with this because we don't have 
an event post region initialization. the open is only "new HRegion" and not 
region.initialize()

> AssignmentManager.assign() is not sync in both path
> ---------------------------------------------------
>
>                 Key: HBASE-13606
>                 URL: https://issues.apache.org/jira/browse/HBASE-13606
>             Project: HBase
>          Issue Type: Bug
>          Components: Region Assignment
>    Affects Versions: 2.0.0, 1.1.0, 1.2.0
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>             Fix For: 2.0.0, 1.1.0, 1.2.0
>
>         Attachments: HBASE-13606-v0.patch, HBASE-13606-v1-branch-1.patch, 
> HBASE-13606-v1.patch, 
> TEST-org.apache.hadoop.hbase.master.procedure.TestCreateTableProcedure.xml
>
>
> from the comment and the expected behavior AssignmentManager.assign() should 
> be sync
> {code}
> /** Assigns specified regions round robin, if any.
>  * This is a synchronous call and will return once every region has been
> public void assign(List<HRegionInfo> regions)
> {code}
> but the code has two path. 1 sync and the async
> {code}
> if (servers == 1 || (regions < bulkAssignThresholdRegions
>         && servers < bulkAssignThresholdServers)) {
>    for (HRegionInfo region: plan.getValue()) {
>      ...
>         invokeAssign(region);  // <-- this is async threadPool.submit(assign)
>      ...
>   }
> } else {
>   BulkAssigner ba = new GeneralBulkAssigner(...);
>   ba.bulkAssign();  // <-- this is sync, calls BulkAssign.waitUntilDone()
> }
> {code}
> https://builds.apache.org/job/HBase-1.1/452/ TestCreateTableProcedure is 
> flaky because of this async behavior



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to