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

when locate meta region, we should respect the param "useCache" passed in on 0.98

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.98.21
    • 0.98.22
    • None
    • None

    Description

      we found that when RS with meta crash, client will retry the same request, but it still use the original meta location in cache, so all request retried will failed.

      Notice the code in HConnectionMananger#locateRegionInMeta, the "useCache" passed in is not used when try to found the meta region.

          private HRegionLocation locateRegionInMeta(final TableName parentTable,
            final TableName tableName, final byte [] row, boolean useCache,
            Object regionLockObject, boolean retry)
          throws IOException {
            ......
            for (int tries = 0; true; tries++) {
             .....
              HRegionLocation metaLocation = null;
              try {
                // locate the meta region
                metaLocation = locateRegion(parentTable, metaKey, true, false); //NOTICE: we should honor the "useCache" passed in when locate the meta region.
                ....
            }
          }
      

      Attachments

        1. HBASE-16512.0.98.patch
          1 kB
          Heng Chen
        2. HBASE-16512_0.98.patch
          1 kB
          Heng Chen

        Activity

          People

            chenheng Heng Chen
            chenheng Heng Chen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: