You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "bluedavy (Created) (JIRA)" <ji...@apache.org> on 2011/10/10 05:06:31 UTC

[jira] [Created] (HBASE-4562) When split occurs error,it'll cause data loss

When split occurs error,it'll cause data loss
---------------------------------------------

                 Key: HBASE-4562
                 URL: https://issues.apache.org/jira/browse/HBASE-4562
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.90.4
            Reporter: bluedavy
            Priority: Blocker
             Fix For: 0.90.5


Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
   {code:title=SplitTransaction.java|borderStyle=solid}
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
   {code} 
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.

We can fix the bug just use below code:
{code:title=SplitTransaction.java|borderStyle=solid}
      this.journal.add(JournalEntry.PONR); 
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
{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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "stack (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126115#comment-13126115 ] 

stack commented on HBASE-4562:
------------------------------

I'm +1 on this patch if tests pass.  Its more conservative than what we currently have.  Comments in code speculated that we should probably tend to the more conservative.  Thanks for making the change bluedavy.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch, HBASE-4562for0.92.patch, HBASE-4562fortrunk.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Assigned] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu reassigned HBASE-4562:
-----------------------------

    Assignee: bluedavy
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562.patch)
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128321#comment-13128321 ] 

bluedavy commented on HBASE-4562:
---------------------------------

I attached patches & test reports for 0.90.4,0.92 and trunk.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128713#comment-13128713 ] 

bluedavy commented on HBASE-4562:
---------------------------------

@Lars
I attached the patch for latest 0.90,pls apply it again & commit,thks.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128686#comment-13128686 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

@bluedavy:
Please generate patch for latest 0.90 and rerun the test suite.

Thanks
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4562:
--------------------------

    Comment: was deleted

(was: In JIRA description:
bq. 5. kill the regionserver hosted the table;
)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129416#comment-13129416 ] 

bluedavy commented on HBASE-4562:
---------------------------------

em,thks.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562-test.report.txt)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128602#comment-13128602 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

+1 for latest patches (assuming all tests pass)
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562&4563.patch)
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124242#comment-13124242 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

Apache Jenkins build for 0.90 has 678 tests. The attached test report had fewer test cases.

Also, patch for 0.92/TRUNK is needed since the fix would go to those places as well.
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128326#comment-13128326 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

+1 on patches.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128678#comment-13128678 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

0.90 patch fails to apply. @bluedavy, could you double check all patches against the latest of the 0.90, 0.92, trunk, respectively?

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128422#comment-13128422 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

If OfflineParentInMeta() times out, SplitRequest.run() would execute the following code:
{code}
          if (st.rollback(this.server, this.server)) {
            LOG.info("Successful rollback of failed split of " +
              parent.getRegionNameAsString());
          } else {
            this.server.abort("Abort; we got an error after point-of-no-return");
{code}

I agree that the comments should be consistent in all patches.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: HBASE-4562.patch
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: test-4562-trunk.txt
                test-4562-0.92.txt
                test-4562-0.90.txt
                HBASE-4562-trunk.patch
                HBASE-4562-0.92.patch
                HBASE-4562-0.90.patch
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128574#comment-13128574 ] 

bluedavy commented on HBASE-4562:
---------------------------------

I fix the comments to keep consistent in all patches.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: test-4562-0.90.txt)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: test-4562-0.90.4.txt
                HBASE-4562-0.90.4.patch
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Description: 
Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
   {code:title=SplitTransaction.java|borderStyle=solid}
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
   {code} 
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.

We can fix the bug just use the patch.

  was:
Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
   {code:title=SplitTransaction.java|borderStyle=solid}
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
   {code} 
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.

We can fix the bug just use below code:
{code:title=SplitTransaction.java|borderStyle=solid}
      this.journal.add(JournalEntry.PONR); 
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
{code} 
{code:title=CompactSplitThread.java|borderStyle=solid}
      if (st.rollback(this.server, this.server)) {
          LOG.info("Successful rollback of failed split of " +
            parent.getRegionNameAsString());
      } 
      else {
          this.server.abort("Abort; we got an error after point-of-no-return");
      }
{code}

    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: HBASE-4562-trunk.patch
                HBASE-4562-0.92.patch
                HBASE-4562-0.90.patch
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4562:
--------------------------

    Summary: When split doing offlineParentInMeta encounters error, it'll cause data loss  (was: When split doing offlineParentInMeta occurs error,it'll cause data loss)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch, HBASE-4562for0.92.patch, HBASE-4562fortrunk.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: HBASE-4562fortrunk.patch
                HBASE-4562for0.92.patch
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch, HBASE-4562for0.92.patch, HBASE-4562fortrunk.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Summary: When split doing offlineParentInMeta occurs error,it'll cause data loss  (was: When split occurs error,it'll cause data loss)
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562-trunk.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128418#comment-13128418 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

In JIRA description:
bq. 5. kill the regionserver hosted the table;

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: test-4562-0.90.txt
                HBASE-4562-0.90.patch
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129465#comment-13129465 ] 

Hudson commented on HBASE-4562:
-------------------------------

Integrated in HBase-TRUNK #2333 (See [https://builds.apache.org/job/HBase-TRUNK/2333/])
    HBASE-4562  When split doing offlineParentInMeta encounters error, it'll cause data loss

larsh : 
Files : 
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128573#comment-13128573 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

I see... Thanks Ted.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562fortrunk.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Reopened] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Reopened) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy reopened HBASE-4562:
-----------------------------


wait for committer commit to the svn.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124638#comment-13124638 ] 

bluedavy commented on HBASE-4562:
---------------------------------

@Ted Yu
I'll check the tests...
Also I'll attach the patch for 0.92 & TRUNK.
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124742#comment-13124742 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

Please run patch for 0.92 or TRUNK (hopefully both) through unit tests.
Thanks
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch, HBASE-4562for0.92.patch, HBASE-4562fortrunk.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562-0.90.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128348#comment-13128348 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

Are the attached patches the full story?
I see only PONR moved, but no code to abort the server if timing out against .META. Where is that code?

In the trunk patch the comment seems to be mangled. The big PONR comment be moved above the comment speculating the that PONR should be moved here, just like in the 0.90 and 0.92 patches... 

In fact should that comment now be removed in all patches?

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124715#comment-13124715 ] 

bluedavy commented on HBASE-4562:
---------------------------------

@Ted Yu
I count all tests in src/test,I'm sure all test are ran...
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123977#comment-13123977 ] 

bluedavy commented on HBASE-4562:
---------------------------------

@Ted Yu
OK, I attached the patch again,and also provide the test suite results.
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562for0.92.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128690#comment-13128690 ] 

bluedavy commented on HBASE-4562:
---------------------------------

em,OK,I renamed the current patch for 0.90.4.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Resolved] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl resolved HBASE-4562.
----------------------------------

      Resolution: Fixed
    Hadoop Flags: Reviewed

Committed to 0.90, 0.92, and trunk.

The 0.90 patch still did not apply to the current 0.90 branch. I applied the changes manually this time, but in the future it would be great to base patches of the latests state of the branch in SVN.

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128675#comment-13128675 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

Committing this too.
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129521#comment-13129521 ] 

Hudson commented on HBASE-4562:
-------------------------------

Integrated in HBase-0.92 #72 (See [https://builds.apache.org/job/HBase-0.92/72/])
    HBASE-4562  When split doing offlineParentInMeta encounters error, it'll cause data loss

larsh : 
Files : 
* /hbase/branches/0.92/CHANGES.txt
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123993#comment-13123993 ] 

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

Is it possible to write a testcase with the scenario you have told in the description?
Minor comment:
{code}
+        } 
+        else {
+          this.server.abort("Abort; we got an error after point-of-no-return");
+        }  
{code}
+        } else {
+          this.server.abort("Abort; we got an error after point-of-no-return");
+        }  
else block should begin in the same line where if block ends.
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Issue Comment Edited] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129457#comment-13129457 ] 

Lars Hofhansl edited comment on HBASE-4562 at 10/18/11 3:40 AM:
----------------------------------------------------------------

No problem. Thanks for the patch :)
                
      was (Author: lhofhansl):
    No problem. Thanks for patch :)
                  
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Work started] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Work started) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on HBASE-4562 started by bluedavy.

> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Resolved] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy resolved HBASE-4562.
-----------------------------

    Resolution: Fixed
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: HBASE-4562&4563.patch
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562&4563.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "Ted Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123881#comment-13123881 ] 

Ted Yu commented on HBASE-4562:
-------------------------------

Normally one patch should fix one problem.
{code}
+    } catch(IOException e){
+      throw e;
{code}
I saw the above code twice in the patch.
Can you explain why it is needed ?

Please also run test suite and tell us the results.
                
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562&4563.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Updated] (HBASE-4562) When split occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Description: 
Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
   {code:title=SplitTransaction.java|borderStyle=solid}
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
   {code} 
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.

We can fix the bug just use below code:
{code:title=SplitTransaction.java|borderStyle=solid}
      this.journal.add(JournalEntry.PONR); 
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
{code} 
{code:title=CompactSplitThread.java|borderStyle=solid}
      if (st.rollback(this.server, this.server)) {
          LOG.info("Successful rollback of failed split of " +
            parent.getRegionNameAsString());
      } 
      else {
          this.server.abort("Abort; we got an error after point-of-no-return");
      }
{code}

  was:
Follow below steps to replay the problem:
1. change the SplitTransaction.java as below,just like mock the timeout error.
   {code:title=SplitTransaction.java|borderStyle=solid}
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
   {code} 
2. update the regionserver code,restart;
3. create a table & put some data to the table;
4. split the table;
5. kill the regionserver hosted the table;
6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.

We can fix the bug just use below code:
{code:title=SplitTransaction.java|borderStyle=solid}
      this.journal.add(JournalEntry.PONR); 
      if (!testing) {
        MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
           this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
        throw new IOException("some unexpected error in split");
      }
{code} 

    
> When split occurs error,it'll cause data loss
> ---------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562-0.90.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment:     (was: HBASE-4562-0.92.patch)
    
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129457#comment-13129457 ] 

Lars Hofhansl commented on HBASE-4562:
--------------------------------------

No problem. Thanks for patch :)
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.4.patch, HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.4.txt, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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

        

[jira] [Updated] (HBASE-4562) When split doing offlineParentInMeta occurs error,it'll cause data loss

Posted by "bluedavy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bluedavy updated HBASE-4562:
----------------------------

    Attachment: HBASE-4562-test.report.txt
                HBASE-4562.patch
    
> When split doing offlineParentInMeta occurs error,it'll cause data loss
> -----------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-test.report.txt, HBASE-4562.patch
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use below code:
> {code:title=SplitTransaction.java|borderStyle=solid}
>       this.journal.add(JournalEntry.PONR); 
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
> {code} 
> {code:title=CompactSplitThread.java|borderStyle=solid}
>       if (st.rollback(this.server, this.server)) {
>           LOG.info("Successful rollback of failed split of " +
>             parent.getRegionNameAsString());
>       } 
>       else {
>           this.server.abort("Abort; we got an error after point-of-no-return");
>       }
> {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

        

[jira] [Commented] (HBASE-4562) When split doing offlineParentInMeta encounters error, it'll cause data loss

Posted by "bluedavy (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128685#comment-13128685 ] 

bluedavy commented on HBASE-4562:
---------------------------------

the patch-0.90 is for 0.90.4...
                
> When split doing offlineParentInMeta encounters error, it'll cause data loss
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-4562
>                 URL: https://issues.apache.org/jira/browse/HBASE-4562
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.4
>            Reporter: bluedavy
>            Assignee: bluedavy
>            Priority: Blocker
>             Fix For: 0.90.5
>
>         Attachments: HBASE-4562-0.90.patch, HBASE-4562-0.92.patch, HBASE-4562-trunk.patch, test-4562-0.90.txt, test-4562-0.92.txt, test-4562-trunk.txt
>
>
> Follow below steps to replay the problem:
> 1. change the SplitTransaction.java as below,just like mock the timeout error.
>    {code:title=SplitTransaction.java|borderStyle=solid}
>       if (!testing) {
>         MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
>            this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
>         throw new IOException("some unexpected error in split");
>       }
>    {code} 
> 2. update the regionserver code,restart;
> 3. create a table & put some data to the table;
> 4. split the table;
> 5. kill the regionserver hosted the table;
> 6. wait some time after master ServerShutdownHandler.process execute,then scan the table,u'll find the data wrote before lost.
> We can fix the bug just use the patch.

--
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