Benjamin Mahler created MESOS-9801:
--------------------------------------
Summary: Use protobuf arenas for v1 API responses.
Key: MESOS-9801
URL: https://issues.apache.org/jira/browse/MESOS-9801
Project: Mesos
Issue Type: Improvement
Components: agent, master
Reporter: Benjamin Mahler
The v1 API response construction is currently slower than the v0 API response
construction. A primary reason for this is that the v1 API constructs
intermediate C++ protobuf response objects, which are very expensive in terms
of memory allocation/deallocation cost. Also involved is the use of
{{evolve()}} which evolves messages from unversioned protobuf into v1 protobuf.
This also has very high memory allocation / deallocation cost.
Using arenas for all v1 API response construction will provide a significant
improvement.
This ticket currently captures all the aspects of this:
* Updating {{evolve()}} to use arenas across all v1 API responses.
* Updating all response construction functions (e.g. {{getState())}}) to use
arenas.
* Making this change for both the master and agent.
This is blocked by MESOS-9755 since we need to upgrade our bundled protobuf to
have string fields allocated in the arenas.
We may split out tickets for CHANGELOG purposes if only a portion of this lands
in 1.9.0.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)