You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2016/12/29 00:05:58 UTC
[jira] [Created] (HBASE-17387) Reduce the overhead of exception
report in RegionActionResult for multi()
Ted Yu created HBASE-17387:
------------------------------
Summary: Reduce the overhead of exception report in RegionActionResult for multi()
Key: HBASE-17387
URL: https://issues.apache.org/jira/browse/HBASE-17387
Project: HBase
Issue Type: Bug
Reporter: Ted Yu
For RSRpcServices#doNonAtomicRegionMutation() :
{code}
for (ClientProtos.Action action: actions.getActionList()) {
...
} catch (IOException ie) {
rpcServer.getMetrics().exception(ie);
resultOrExceptionBuilder = ResultOrException.newBuilder().
setException(ResponseConverter.buildException(ie));
}
if (resultOrExceptionBuilder != null) {
// Propagate index.
resultOrExceptionBuilder.setIndex(action.getIndex());
builder.addResultOrException(resultOrExceptionBuilder.build());
}
{code}
The exceptions are added to builder in the for loop.
The ClientProtos.ResultOrException.Builder instance is created within the for loop.
For large multi call, this may incur non-trivial overhead for garbage collector if there're many exceptions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)