hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4217) HRS.closeRegion should be able to close regions with only the encoded name
Date Wed, 24 Aug 2011 15:10:29 GMT

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

ramkrishna.s.vasudevan commented on HBASE-4217:

bq. Similar for the new method added to the HRegionInterface (and you don't need javadoc in
HRS since its implementing the Interface so it shoudl inherit the Interface doc)
+  @Override
+  @QosPriority(priority=HIGH_QOS)
+  public boolean closeRegion(byte[] regionName, boolean zk) throws IOException {
As in other closeRegion() the javadoc is getting inherited here also.
bq. javadoc needs to better specify that what we are expecting is the encoded region name
I have done one small modification from the previous patch as per Stack's suggestion. The
new api in HBaseAdmin will take the encodedRegion name along with server name.  If servername
is not given then the api will just log and will not do any.  In the previous patch as I had
accepted the normal region name if servername was null was calling the older closeRegion()
bq.Do we not have a TestAdmin class already? Should these new tests go in there instead or
into class of their own?
I have added the new testcases to TestAdmin
bq.Oh, what about updating the shell so when you do close_region, it uses your new method?
I have done this now.  Yesterday I missed this part.  Pls check this if my way of adding the
new api in shell is correct.  If not kindly correct me so that i can update it.

> HRS.closeRegion should be able to close regions with only the encoded name
> --------------------------------------------------------------------------
>                 Key: HBASE-4217
>                 URL: https://issues.apache.org/jira/browse/HBASE-4217
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.90.4
>            Reporter: Jean-Daniel Cryans
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.0
>         Attachments: HBASE-4217.patch, HBASE-4217_1.patch
> We had some sort of an outage this morning due to a few racks losing power, and some
regions were left in the following state:
> ERROR: Region UNKNOWN_REGION on sv4r17s9:60020, key=e32bbe1f48c9b3633c557dc0291b90a3,
not on HDFS or in META but deployed on sv4r17s9:60020
> That region was deleted by the master but the region server never got the memo. Right
now there's no way to force close it because HRS.closeRegion requires an HRI and the only
way to create one is to get it from .META. which in our case doesn't contain a row for that
region. Basically we have to wait until that server is dead to get rid of the region and make
hbck happy.
> The required change is to have closeRegion accept an encoded name in both HBA (when the
RS address is provided) and HRS since it's able to find it anyways from it's list of live

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message