You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2019/05/28 19:40:00 UTC

[jira] [Created] (MESOS-9801) Use protobuf arenas for v1 API responses.

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)