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)

Reply via email to