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

Remove/Simplify the logic of RegionScannerImpl.handleFileNotFound

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.0, 2.0.0
    • 1.4.0, 2.0.0
    • regionserver
    • None
    • Reviewed
    • Add a config named 'hbase.hregion.unassign.for.fnfe'. It is used to control whether to reopen a region when hitting FileNotFoundException. The default value is true.

    Description

      It is introduced in HBASE-13651 and the logic became much more complicated after HBASE-16304 due to a dead lock issue. It is really tough as sequence id is involved in and the method we called is used to serve secondary replica originally which does not handle write.

      In fact, in 1.x release, the problem described in HBASE-13651 is gone. Now we will write a compaction marker to WAL before deleting the compacted files. We can only consider a RS as dead after its WAL files are all closed so if the region has already been reassigned the compaction will fail as we can not write out the compaction marker.

      So theoretically, if we still hit FileNotFound exception, it should be a critical bug which means we may loss data. I do not think it is a good idea to just eat the exception and refresh store files. Or even if we want to do this, we can just refresh store files without dropping memstore contents. This will also simplify the logic a lot.

      Suggestions are welcomed.

      Attachments

        1. HBASE-17712-addendum.patch
          1 kB
          Duo Zhang
        2. HBASE-17712-branch-1.patch
          31 kB
          Duo Zhang
        3. HBASE-17712-v3.patch
          32 kB
          Duo Zhang
        4. HBASE-17712-v2.patch
          33 kB
          Duo Zhang
        5. HBASE-17712-v1.patch
          20 kB
          Duo Zhang
        6. HBASE-17712.patch
          19 kB
          Duo Zhang
        7. HBASE-17712-ut.patch
          7 kB
          Duo Zhang

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            zhangduo Duo Zhang
            zhangduo Duo Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment