Probably this can move under
HBASE-15177. During RpcServer#setResponse we do IPCUtil.getDelimitedMessageAsByteBuffer for the header and result. This internally creates a byte, CodedOutputStream and a BB. Then the totalSize is also wrapped in a BB.
Finally all these BB are passed to BufferChain along with the Cellblock.
This JIRA is to reduce the number of objects that we create here and allow one BB from this header, result and total Size along with one CodedOutputStream and pass this BB along with the Cellblocks to the Bufferchain. From the JMC tool can observe around 2% lesser object allocation arising out of these objects.