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

Miss metrics when coprocessor use region scanner to read data

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

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0, 2.0.0-beta-1, 2.0.0
    • None
    • None
    • 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.master.001.patch
          8 kB
          Guanghao Zhang
        2. HBASE-19035.master.002.patch
          17 kB
          Guanghao Zhang
        3. HBASE-19035.master.003.patch
          16 kB
          Guanghao Zhang
        4. HBASE-19035.branch-1.001.patch
          7 kB
          Guanghao Zhang
        5. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        6. HBASE-19035.master.003.patch
          16 kB
          Michael Stack
        7. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        8. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        9. HBASE-19035.branch-1.patch
          7 kB
          Guanghao Zhang
        10. HBASE-19035.branch-1.2.001.patch
          3 kB
          Michael Stack

        Issue Links

        Activity

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

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment