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

Miss metrics when coprocessor use region scanner to read data

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0, 2.0.0-beta-1, 2.0.0
    • Component/s: None
    • Labels:
      None
    • Release Note:
      Hide
      1. Move read requests count to region level. Because RegionScanner is exposed to CP.
      2. Update write requests count in processRowsWithLocks.
      3. Remove requestRowActionCount in RSRpcServices. This metric can be computed by region's readRequestsCount and writeRequestsCount.
      Show
      1. Move read requests count to region level. Because RegionScanner is exposed to CP. 2. Update write requests count in processRowsWithLocks. 3. Remove requestRowActionCount in RSRpcServices. This metric can be computed by region's readRequestsCount and writeRequestsCount.

      Description

      Region interface is exposed to coprocessor. So coprocessor use getScanner to get a region scanner to read data. But the scan metrics was only updated in region server level. So we will miss some scan metrics for the read from coprocessor.

      Region Operation When to update requests metric
      get update read metric in nextRaw()
      put update write metric in batchMutate()
      delete update write metric in batchMutate()
      increment update read metric by get() and update write metric in doDelta()
      append update read metric by get() and update write metric in doDelta()
      mutateRow update write metric in processRowsWithLocks()
      mutateRowsWithLocks update write metric in processRowsWithLocks()
      batchMutate update write metric in batchMutate()
      checkAndMutate update read metric by get() and update write metric by mutateRow()
      checkAndRowMutate update read metric by get() and update write metric by doBatchMutate()
      processRowsWithLocks update write metric in processRowsWithLocks()

      1. Move read requests to region level. Because RegionScanner exposed to CP.
      2. Update write requests count in processRowsWithLocks. This was missed in previous implemenation, too.
      3. Remove requestRowActionCount in RSRpcServices. This metric can be computed by region's readRequestsCount and writeRequestsCount.

      Upload to review board: https://reviews.apache.org/r/63579/

        Attachments

        1. HBASE-19035.branch-1.001.patch
          7 kB
          Guanghao Zhang
        2. HBASE-19035.branch-1.2.001.patch
          3 kB
          Michael Stack
        3. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        4. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        5. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        6. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        7. HBASE-19035.master.001.patch
          8 kB
          Guanghao Zhang
        8. HBASE-19035.master.002.patch
          17 kB
          Guanghao Zhang
        9. HBASE-19035.master.003.patch
          16 kB
          Michael Stack
        10. HBASE-19035.master.003.patch
          16 kB
          Guanghao Zhang

          Issue Links

            Activity

              People

              • Assignee:
                zghao Guanghao Zhang
                Reporter:
                zghao Guanghao Zhang
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: