aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner" <wfar...@apache.org>
Subject Review Request 30203: Fix impedance mismatch between offer matching and task launching.
Date Fri, 23 Jan 2015 02:06:57 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30203/
-----------------------------------------------------------

Review request for Aurora, Maxim Khutornenko and Zameer Manji.


Bugs: AURORA-1050
    https://issues.apache.org/jira/browse/AURORA-1050


Repository: aurora


Description
-------

See linked ticket for context on how this manifested.  Please don't be overwhelmed by the
large delta in this diff - a majority of it is reorganizing code to live in more appropriate
places.

This happened because the logic for offer matching and task launching were out of sync.  For
small tasks (smaller than `MIN_THERMOS_RESOURCES`), an additional amount (`MIN_TASK_RESOURCES`)
would be unintentionally added when the task was launched, but this was not considered when
comparing the task to offers.  The test case `MesosTaskFactoryImplTest.testSmallTaskUpsizing`
was added to reproduce this bug.

This change does several things to make the situation more sane:
- `ResourceSlot` no longer directly accesses command line arguments, to simplify testing
- You may no longer create a `ResourceSlot` from its constitutent parts, to prevent accidental
misuse
- The algorithm used in `ResourceSlot` was simplified such that an epsilon is always used
for the executor resources, and that is subtracted from the final resources required by the
task.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/ResourceSlot.java 0b15834ec67959d3be94f9a5240ed38f43ac4c5b

  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 72c7545e7f16549f6a9ccb5fb74a06f154a7ea94

  src/main/java/org/apache/aurora/scheduler/async/preemptor/LiveClusterState.java e6bd1b517535cafce4976e585b377065dfd19796

  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictim.java 024a689d788804e95de76570674b6d4aa77d7495

  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 0204d14b19ae412236f19ca274d81decb4eba12d

  src/main/java/org/apache/aurora/scheduler/configuration/Resources.java 65c4b526c89a4d5607af4424ebe49bb48e296ae9

  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c2a342ce07bfb223193886038761f0da5230135d

  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 1cb56f19c331508a1585077e9c4a98f52aac343b

  src/main/java/org/apache/aurora/scheduler/mesos/ExecutorSettings.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java 5cc85f1f87f3b8355c89e8ecac19de1122a079e6

  src/test/java/org/apache/aurora/scheduler/ResourceSlotTest.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/UserTaskLauncherTest.java 7ba946422577c21cbc3b3edf8d30ee313b0ef251

  src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java 5e54364a49a208bd5f19b9649633dc8feca591e9

  src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java 36dbcf73686c5a3ade01f7a10fda8ac4bdbcc7ad

  src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 0b41156f2a574d3d3c2cf840926f307dfb1e726e

  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java 265c38d20136210e7639ac8ea915d307a4b72949

  src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java c7de6e111300b009e1f9f430624a56100328184e

  src/test/java/org/apache/aurora/scheduler/mesos/Offers.java PRE-CREATION 

Diff: https://reviews.apache.org/r/30203/diff/


Testing
-------


Thanks,

Bill Farner


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message