[ https://issues.apache.org/jira/browse/HBASE-19035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16225980#comment-16225980 ]
stack commented on HBASE-19035: ------------------------------- [~zghaobac] We still need this it looks like. The philosophy is not to expose core metrics to coprocessors and to update counters even if the coprocessor bypasses normal operation. In the patch, the remove of the counting in RSRpcServer looks good as does purge of metrics methods from Region. Over in https://issues.apache.org/jira/browse/HBASE-18770?focusedCommentId=16225855&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16225855 there is a table on updates to make it so we up metrics even when coprocessor calls bypass. > 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)