Details
Description
Currently the log message when responseTooSlow/TooLarge is like:
2016-06-08 12:18:04,363 WARN [B.defaultRpcServer.handler=127,queue=10,port=16020] ipc.RpcServer: (responseTooSlow): {"processingtimems":13125,"call":"Multi(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$MultiRequest)", "client":"11.251.158.22:36331","starttimems":1465359471238,"queuetimems":1540116, "class":"HRegionServer","responsesize":17,"method":"Multi"}
which is kind of helpless for debugging since we don't know on which table/region/row the request is against.
What's more, we could see some if-else check in the RpcServer#logResponse method which trying to do sth different when the param includes instance of Operation, but there's only one place invoking logResponse and the param is always an instance of Message. Checking the change history, I believe this is a left-over cleanup in work of HBASE-8214
We will address the above issues, do some cleanup and improve the log just like RpcServer$Call#toString does to include table/region/row information of the request