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

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.98.21
    • Fix Version/s: 0.98.22
    • Component/s: None
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: