You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org> on 2011/10/10 12:36:29 UTC

[jira] [Commented] (HBASE-4563) When split doing this.parent.close(false) occurs error,it'll cause the splited region cann't write & read

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

ramkrishna.s.vasudevan commented on HBASE-4563:
-----------------------------------------------

Thanks for the patch.
{code}
+	catch(IOException e){
+	  throw e;
+	}

{code}
Why should we catch and again throw exception?
                
> When split doing this.parent.close(false) occurs error,it'll cause the splited region cann't write & read
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4563
>                 URL: https://issues.apache.org/jira/browse/HBASE-4563
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4563-test.report.txt, HBASE-4563.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the hdfs error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       List<StoreFile> hstoreFilesToSplit = this.parent.close(false);
>       throw new IOException("some unexpected error in close store files");
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. scan the table,then it'll fail.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       List<StoreFile> hstoreFilesToSplit = null;
>       try{
>           hstoreFilesToSplit = this.parent.close(false);
>       }
>       catch(IOException  e){
>           this.journal.add(JournalEntry.CLOSED_PARENT_REGION);
>           throw e;
>       }
> {code} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira