HomeMesosphereNo notifications. 4 unresolved issues.

improve deployment plan computation perf by ~2000x
ClosedAll Users

Authored by timcharper on Jun 15 2017, 2:02 AM.

Details

Summary

import mesosphere.marathon.stream.Implicits._ brought in a method that
implicitly converted scala maps to java maps; we were calling the java
containsKey Java map method instead of contains scala map method,
and this led the map to be converted to a Java version, only to have
the containsKey method invoked, and entire data structure
discarded.

Also adds a flat DependencyPlan computation benchmark for apps and pods.

Test Plan

benchmark included

Diff Detail

Repository
rMARATHON marathon
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
timcharper created this revision.Jun 15 2017, 2:02 AM
jenkins accepted this revision.Jun 15 2017, 2:27 AM
This revision is now accepted and ready to land.Jun 15 2017, 2:27 AM
✔ Build of 3499 completed jenkins-public-marathon-phabricator-229.

You can create a DC/OS with your patched Marathon by creating a new pull
request with the following changes in buildinfo.json:

"url": "https://downloads.mesosphere.io/marathon/snapshots/marathon-1.5.0-SNAPSHOT-578-g8e538f9.tgz",
"sha1"" "aea6b1f90b543b093921e93fcc21042a541d7a60"

\\ ٩( ᐛ )و //

jdef accepted this revision.Jun 15 2017, 2:55 AM
jdef added inline comments.
src/main/scala/mesosphere/marathon/core/deployment/DeploymentPlan.scala
306

if originalRuns.get(specId).forall(_ != spec) instead for brevity?

ichernetsky accepted this revision.Jun 15 2017, 3:05 AM
This revision was automatically updated to reflect the committed changes.