Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-9801

Use protobuf arenas for v1 API responses.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • None
    • None
    • agent, master

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Will Mahler William Mahler
              bmahler Benjamin Mahler
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: