[jira] [Updated] (HBASE-14443) Add request parameter to the TooSlow/TooLarge warn message of RpcServer
[ https://issues.apache.org/jira/browse/HBASE-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jianwei Cui updated HBASE-14443: Attachment: HBASE-14443-trunk-v2.patch Keep origin fields for TooSlow/TooLarge warn message, add extra fields for method parameters. > 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: Operability, rpc >Affects Versions: 1.2.1 >Reporter: Jianwei Cui >Assignee: Jianwei Cui >Priority: Minor > Attachments: HBASE-14443-trunk-v1.patch, HBASE-14443-trunk-v2.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)
[jira] [Updated] (HBASE-14443) Add request parameter to the TooSlow/TooLarge warn message of RpcServer
[ https://issues.apache.org/jira/browse/HBASE-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jianwei Cui updated HBASE-14443: Affects Version/s: 1.2.1 Fix Version/s: (was: 1.2.1) > 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 >Affects Versions: 1.2.1 >Reporter: Jianwei Cui >Priority: Minor > 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)
[jira] [Updated] (HBASE-14443) Add request parameter to the TooSlow/TooLarge warn message of RpcServer
[ https://issues.apache.org/jira/browse/HBASE-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Dimiduk updated HBASE-14443: - Component/s: Operability > 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: Operability, rpc >Affects Versions: 1.2.1 >Reporter: Jianwei Cui >Priority: Minor > 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)
[jira] [Updated] (HBASE-14443) Add request parameter to the TooSlow/TooLarge warn message of RpcServer
[ https://issues.apache.org/jira/browse/HBASE-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jianwei Cui updated HBASE-14443: Attachment: HBASE-14443-trunk-v1.patch The patch will add request parameters into warn message. For get/scan/mutate request, the warn message will be formatted as: {code} (operationTooSlow): {"region":"test_table,,1442476299154.3ee9b59f45681b73c79b58b25d0be062.","Condition":{"family":"C","qualifier":""},"Put":{"totalColumns":1,"families":{"C":[{"timestamp":9223372036854775807,"tag":[],"qualifier":"","vlen":6}]},"row":"105"}, ... ,"method":"Mutate" {code} This is a warn log for checkAndPut request, the condition and put info will both be included. For multi request, the quantity of actions will be included as: {code} (operationTooSlow): {..."method":"Multi","MultiAction":{"Increment":1,"Put":1,"Append":1,"Delete":1,"regions":1}} {code} For coprocessor exec, the coprocessor service and method name will be extracted from request and included as: {code} (responseTooSlow): {"call":"hbase.pb.MultiRowMutationService#MutateRows(region: test_table,,1442476299154.3ee9b59f45681b73c79b58b25d0be062., row:106)",...} {code} > 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)