Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A31F81821D for ; Wed, 16 Sep 2015 12:34:47 +0000 (UTC) Received: (qmail 85660 invoked by uid 500); 16 Sep 2015 12:34:46 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 85570 invoked by uid 500); 16 Sep 2015 12:34:46 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 85552 invoked by uid 99); 16 Sep 2015 12:34:46 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Sep 2015 12:34:46 +0000 Date: Wed, 16 Sep 2015 12:34:46 +0000 (UTC) From: "Jianwei Cui (JIRA)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HBASE-14443) Add request parameter to the TooSlow/TooLarge warn message of RpcServer MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Jianwei Cui created HBASE-14443: ----------------------------------- Summary: 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 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)