Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-4562

When split doing offlineParentInMeta encounters error, it'll cause data loss

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.90.4
    • 0.90.5
    • regionserver
    • None
    • Reviewed

    Description

      Follow below steps to replay the problem:
      1. change the SplitTransaction.java as below,just like mock the timeout error.

      SplitTransaction.java
            if (!testing) {
              MetaEditor.offlineParentInMeta(server.getCatalogTracker(),
                 this.parent.getRegionInfo(), a.getRegionInfo(), b.getRegionInfo());
              throw new IOException("some unexpected error in split");
            }
         

      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.

      Attachments

        1. HBASE-4562-0.90.4.patch
          2 kB
          bluedavy
        2. HBASE-4562-0.90.patch
          2 kB
          bluedavy
        3. HBASE-4562-0.92.patch
          3 kB
          bluedavy
        4. HBASE-4562-trunk.patch
          3 kB
          bluedavy
        5. test-4562-0.90.4.txt
          21 kB
          bluedavy
        6. test-4562-0.90.txt
          21 kB
          bluedavy
        7. test-4562-0.92.txt
          30 kB
          bluedavy
        8. test-4562-trunk.txt
          31 kB
          bluedavy

        Activity

          People

            bluedavy bluedavy
            bluedavy bluedavy
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: