[
https://issues.apache.org/jira/browse/HBASE-14620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16129161#comment-16129161
]
stack commented on HBASE-14620:
-------------------------------
[~syuanjiang]
Throwing an exception when unassign is called and it has no associated server
flags missaccounting around assign. We are flagging a messup fast. This patch
softens assignment letting an unassign for a region that has no associated host
pass with a warning only. Is this needed by hbck only? Is that only reason? If
so, hbck should change I'd say, not assignment.
I think this change is ok:
return true; // procedure is not running
Could there be a case where we go to wait on a proc and it has not been
scheduled yet?
What is this:
{code}
1399 try {
1400 Pair<HRegionInfo, ServerName> p =
1401 MetaTableAccessor.getRegion(master.getConnection(), regionName);
1402 HRegionInfo hri = p == null ? null : p.getFirst();
1403 if (hri != null) {
1404 regionStates.createRegionNode(hri);
1405 }
1406 return hri;
1407 } catch (IOException e) {
1408 master.abort("Aborting because error occurred while reading "
1409 + Bytes.toStringBinary(regionName) + " from hbase:meta", e);
1410 return null;
1411 }
{code}
We are going to meta to read HRI if we can't find it in master memory? Master
memory is final arbiter of state. This is by-passing this, no? If we have to do
the above, there is a hole in our processing? Lets plug that. How did you
figure this the thing to do?
Otherwise, rest looks good.... the cleanup in hbck.
> Procedure V2: Update HBCK to incorporate the Proc-V2-based assignment
> ---------------------------------------------------------------------
>
> Key: HBASE-14620
> URL: https://issues.apache.org/jira/browse/HBASE-14620
> Project: HBase
> Issue Type: Sub-task
> Components: hbck, proc-v2
> Reporter: Stephen Yuan Jiang
> Assignee: Stephen Yuan Jiang
> Fix For: 2.0.0
>
> Attachments: HBASE-14620.v1-master.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)