tree 26550ab9d452aa67488b222a938047ed3c000410
parent 85cd302291784dc8502172303ad3a315a15566f3
author karanmehta93 <k.mehta@salesforce.com> 1604399673 -0800
committer GitHub <noreply@github.com> 1604399673 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfoTI5CRBK7hj4Ov3rIwAAdHIIAG/ujKsqYoLi6TBR800258HB
 E84KpBqcr8/QYDMbx89OJsylqLB/APj2yZ+J9XTTrrlwbU9oVPg0OlFKDi7SpDNU
 9iqDppW/xgI9SAIzdt9PjcQddMh8efvsuInbDyZoTr81txnoaiyKwdVR7RYfReP+
 N//UA/JYCMh7tXllcY89XiThRtYXJ+/OoWZ9y9+3FR33/lmGCfuFS/SJz5DM/u71
 Vde9imE3GTJClyYDUlIqGG4QCXNmRXy/l+etWF4tL6Wr7lCpVffGX3f9l69/xUFG
 ayRg8To2bMmylUemMrHBFpF5ofMDCszAKZ7E7RRs5KFnnVLY7yLyKl6cdyenjdc=
 =RPiS
 -----END PGP SIGNATURE-----
 

Protobuf should be serialized to direct memory instead of heap memory (#2441)

Descriptions of the changes in this PR:

### Motivation

Protobuf serialization is the last step of the netty pipeline. Currently, we allocate a heap buffer while serializing
and pass it down to netty library. In `AbstractChannel#filterOutboundMessage()`, netty copies that data to a direct buffer if
it is currently in heap (otherwise skips it and uses it directly).
This change helps in reducing unncessary CPU cycles for buffer copies and also helps alleviate pressure off the GC, since there is
less churn of memory. In some stress tests, I see a reduction upto 33% in number of GC's with the same avg running duration in BK Client.
The workload does writes of different sizes, ranging from 1 KB to 512 KB.
Bookies aren't usually CPU bound. This change improves READ_ENTRY code paths by a small factor.


### Changes

Used direct memory for buffer allocation versus heap memory


* Added comments