HBASE-20826 Truncate really long RpcServer warnings unless TRACE is on Signed-off-by: zhangduo <[email protected]> Signed-off-by: Ted Yu <[email protected]> Signed-off-by: Michael Stack <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/154b7730 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/154b7730 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/154b7730 Branch: refs/heads/branch-1 Commit: 154b77307fd702f4794213d1713a80516cd3c9bd Parents: d6d1efd Author: Josh Elser <[email protected]> Authored: Fri Jun 29 15:19:59 2018 -0400 Committer: Andrew Purtell <[email protected]> Committed: Thu Jul 5 17:21:30 2018 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/hbase/ipc/RpcServer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/154b7730/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java index bc3b33a..c4c7360 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java @@ -2441,7 +2441,14 @@ public class RpcServer implements RpcServerInterface, ConfigurationObserver { responseInfo.put("class", server == null? "": server.getClass().getSimpleName()); responseInfo.put("method", methodName); responseInfo.put("call", call); - responseInfo.put("param", ProtobufUtil.getShortTextFormat(param)); + // The params could be really big, make sure they don't kill us at WARN + String stringifiedParam = ProtobufUtil.getShortTextFormat(param); + if (stringifiedParam.length() > 150) { + // Truncate to 1000 chars if TRACE is on, else to 150 chars + stringifiedParam = stringifiedParam.subSequence( + 0, LOG.isTraceEnabled() ? 1000 : 150) + " <TRUNCATED>"; + } + responseInfo.put("param", stringifiedParam); if (param instanceof ClientProtos.ScanRequest && rsRpcServices != null) { ClientProtos.ScanRequest request = ((ClientProtos.ScanRequest) param); if (request.hasScannerId()) {
