[
https://issues.apache.org/jira/browse/HBASE-17387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu updated HBASE-17387:
---------------------------
Attachment: 17387.v1.txt
> 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
> Assignee: Ted Yu
> Priority: Minor
> Attachments: 17387.v1.txt
>
>
> 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)