Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
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
Attachments
Issue Links
- causes
-
HBASE-25967 The readRequestsCount does not calculate when the outResults is empty
- Resolved
- is related to
-
HBASE-18469 Correct RegionServer metric of totalRequestCount
- Resolved