HBase
  1. HBase
  2. HBASE-7507

Make memstore flush be able to retry after exception

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 0.94.6, 0.95.0
    • Fix Version/s: 0.94.6, 0.95.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      We will abort regionserver if memstore flush throws exception.

      I thinks we could do retry to make regionserver more stable because file system may be not ok in a transient time. e.g. Switching namenode in the NamenodeHA environment

      HRegion#internalFlushcache(){
      
      ...
      try {
      ...
      }catch(Throwable t){
      DroppedSnapshotException dse = new DroppedSnapshotException("region: " +
                Bytes.toStringBinary(getRegionName()));
      dse.initCause(t);
      throw dse;
      }
      ...
      
      }
      
      MemStoreFlusher#flushRegion(){
      ...
      region.flushcache();
      ...
       try {
      }catch(DroppedSnapshotException ex){
      server.abort("Replay of HLog required. Forcing server shutdown", ex);
      }
      
      ...
      }
      
      1. 7507-94.patch
        4 kB
        chunhui shen
      2. 7507-trunkv3.patch
        4 kB
        chunhui shen
      3. 7507-trunk v2.patch
        5 kB
        chunhui shen
      4. 7507-trunk v1.patch
        2 kB
        chunhui shen

        Issue Links

          Activity

          chunhui shen created issue -
          chunhui shen made changes -
          Field Original Value New Value
          Description We will abort regionserver if memstore flush throws exception.

          I thinks we could do retry to make regionserver more stable because file system may be not ok in a transient time. e.g. Switching namenode in the NamenodeHA environment
          We will abort regionserver if memstore flush throws exception.

          I thinks we could do retry to make regionserver more stable because file system may be not ok in a transient time. e.g. Switching namenode in the NamenodeHA environment



          {code}
          HRegion#internalFlushcache(){

          ...
          try {
          ...
          }catch(Throwable t){
          DroppedSnapshotException dse = new DroppedSnapshotException("region: " +
                    Bytes.toStringBinary(getRegionName()));
          dse.initCause(t);
          throw dse;
          }
          ...

          }

          MemStoreFlusher#flushRegion(){
          ...
          region.flushcache();
          ...
           try {
          }catch(DroppedSnapshotException ex){
          server.abort("Replay of HLog required. Forcing server shutdown", ex);
          }

          ...
          }
          {code}
          chunhui shen made changes -
          Attachment 7507-trunk v1.patch [ 12563548 ]
          chunhui shen made changes -
          Attachment 7507-trunk v2.patch [ 12563715 ]
          chunhui shen made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Lars Hofhansl made changes -
          Fix Version/s 0.94.5 [ 12323874 ]
          chunhui shen made changes -
          Attachment 7507-trunkv3.patch [ 12564325 ]
          chunhui shen made changes -
          Attachment 7507-94.patch [ 12565724 ]
          chunhui shen made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Hadoop Flags Reviewed [ 10343 ]
          Resolution Fixed [ 1 ]
          Lars Hofhansl made changes -
          Fix Version/s 0.94.5 [ 12323874 ]
          Enis Soztutar made changes -
          Link This issue is duplicated by HBASE-7385 [ HBASE-7385 ]
          Enis Soztutar made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          stack made changes -
          Priority Major [ 3 ] Critical [ 2 ]
          stack made changes -
          Link This issue relates to HBASE-7929 [ HBASE-7929 ]
          Enis Soztutar made changes -
          Fix Version/s 0.94.6 [ 12323907 ]
          stack made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          stack made changes -
          Fix Version/s 0.95.0 [ 12324094 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Fix Version/s 0.94.6 [ 12323907 ]
          Lars Hofhansl made changes -
          Affects Version/s 0.95.0 [ 12324094 ]
          Affects Version/s 0.94.6 [ 12323907 ]
          Affects Version/s 0.94.3 [ 12323144 ]
          Lars Hofhansl made changes -
          Fix Version/s 0.94.6 [ 12323907 ]
          Lars Hofhansl made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              chunhui shen
              Reporter:
              chunhui shen
            • Votes:
              0 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development