[
https://issues.apache.org/jira/browse/HBASE-10137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13847199#comment-13847199
]
rajeshbabu commented on HBASE-10137:
------------------------------------
[[email protected]]
bq. What is the purpose for the above change ?
Without the change TestAdmin#testEnableTableRetainAssignment is failing.
Because in test cases all servers have same host name and retainAssignment may
give server with different port and start code(assertion will fail).
{code}
for (Map.Entry<HRegionInfo, ServerName> entry : regions.entrySet()) {
assertEquals(regions2.get(entry.getKey()), entry.getValue());
}
{code}
We can change test case to check for only hostnames,but in such case it will
pass always.
So I felt it's ok to select old server as destination if its in online servers.
Is it ok?
> GeneralBulkAssigner with retain assignment plan can be used in
> EnableTableHandler to bulk assign the regions
> ------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-10137
> URL: https://issues.apache.org/jira/browse/HBASE-10137
> Project: HBase
> Issue Type: Bug
> Components: Region Assignment
> Affects Versions: 0.96.0, 0.94.14
> Reporter: rajeshbabu
> Assignee: rajeshbabu
> Fix For: 0.98.0, 0.96.2, 0.99.0
>
> Attachments: HBASE-10137.patch
>
>
> Current in BulkEnabler we are assigning one region at a time, instead we can
> use GeneralBulkAssigner to bulk assign multiple regions at a time.
> {code}
> for (HRegionInfo region : regions) {
> if (assignmentManager.getRegionStates()
> .isRegionInTransition(region)) {
> continue;
> }
> final HRegionInfo hri = region;
> pool.execute(Trace.wrap("BulkEnabler.populatePool",new Runnable() {
> public void run() {
> assignmentManager.assign(hri, true);
> }
> }));
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)