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

[hbase] Keep lazy cache of regions in client rather than an 'authoritative' list

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      Currently, when the client gets a NotServingRegionException – usually because its in middle of being split or there has been a regionserver crash and region is being moved elsewhere – the client does a complete refresh of its cache of region locations for a table.

      Chatting with Jim about a Paul Saab upload issue from Saturday night, when tables are big comprised of regions that are splitting fast (because of bulk upload), its unlikely a client will ever be able to obtain a stable list of all region locations. Given that any update or scan requires that the list of all regions be in place before it proceeds, this can get in the way of the client succeeding when the cluster is under load.

      Chatting, we figure that it better the client holds a lazy region cache: on NSRE, figure out where that region has gone only and update the client-side cache for that entry only rather than throw out all we know of a table every time.

      Hopefully this will fix the issue PS was experiencing where during intense upload, he was unable to get/scan/hql the same table.

      Attachments

        1. 2443-v10.patch
          74 kB
          Bryan Duxbury
        2. 2443-v3.patch
          35 kB
          Bryan Duxbury
        3. 2443-v4.patch
          49 kB
          Bryan Duxbury
        4. 2443-v5.patch
          61 kB
          Bryan Duxbury
        5. 2443-v6.patch
          73 kB
          Bryan Duxbury
        6. 2443-v7.patch
          74 kB
          Bryan Duxbury
        7. 2443-v8.patch
          74 kB
          Bryan Duxbury
        8. 2443-v9.patch
          74 kB
          Bryan Duxbury

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: