[ https://issues.apache.org/jira/browse/HBASE-17387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15786302#comment-15786302 ]
Enis Soztutar commented on HBASE-17387: --------------------------------------- I don't think we should limit the size of the stack trace. Reusing the result or exception builder seems fine. For others, can you please give some context why we need this. > 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, 17387.v2.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)