[ 
https://issues.apache.org/jira/browse/HBASE-19035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-19035:
-----------------------------------
    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() |

Meanwhile, remove requestRowActionCount in RSRpcServices. This metric can be 
computed by region's readRequestsCount and writeRequestsCount.

  was:
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() |



> Miss metrics when coprocessor use region scanner to read data
> -------------------------------------------------------------
>
>                 Key: HBASE-19035
>                 URL: https://issues.apache.org/jira/browse/HBASE-19035
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19035.master.001.patch, 
> HBASE-19035.master.002.patch
>
>
> 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() |
> Meanwhile, remove requestRowActionCount in RSRpcServices. This metric can be 
> computed by region's readRequestsCount and writeRequestsCount.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to