[ 
https://issues.apache.org/jira/browse/HBASE-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14804946#comment-14804946
 ] 

Jianwei Cui commented on HBASE-14443:
-------------------------------------

The coprocessor info is also needed as described in 
[HBASE-14333|https://issues.apache.org/jira/browse/HBASE-14443]. This patch 
include the coprocessor service and method name into warn message.  

> Add request parameter to the TooSlow/TooLarge warn message of RpcServer
> -----------------------------------------------------------------------
>
>                 Key: HBASE-14443
>                 URL: https://issues.apache.org/jira/browse/HBASE-14443
>             Project: HBase
>          Issue Type: Improvement
>          Components: rpc
>            Reporter: Jianwei Cui
>            Priority: Minor
>             Fix For: 1.2.1
>
>         Attachments: HBASE-14443-trunk-v1.patch
>
>
> The RpcServer will log a warn message for TooSlow or TooLarge request as:
> {code}
>         logResponse(new Object[]{param},
>             md.getName(), md.getName() + "(" + param.getClass().getName() + 
> ")",
>             (tooLarge ? "TooLarge" : "TooSlow"),
>             status.getClient(), startTime, processingTime, qTime,
>             responseSize);
> {code}
> The RpcServer#logResponse will create the warn message as:
> {code}
> if (params.length == 2 && server instanceof HRegionServer &&
>         params[0] instanceof byte[] &&
>         params[1] instanceof Operation) {
>       ...
>       responseInfo.putAll(((Operation) params[1]).toMap());
>       ...
>     } else if (params.length == 1 && server instanceof HRegionServer &&
>         params[0] instanceof Operation) {
>       ...
>       responseInfo.putAll(((Operation) params[0]).toMap());
>       ...
>     } else {
>       ...
>     }
> {code}
> Because the parameter is always a protobuf message, not an instance of 
> Operation, the request parameter will not be added into the warn message. The 
> parameter is helpful to find out the problem, for example, knowing the 
> startRow/endRow is useful for a TooSlow scan. To improve the warn message, we 
> can transform the protobuf request message to corresponding Operation 
> subclass object by ProtobufUtil, so that it can be added the warn message. 
> Suggestion and discussion are welcomed.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to