-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30203/
-----------------------------------------------------------
(Updated Jan. 26, 2015, 8:18 p.m.)
Review request for Aurora, Maxim Khutornenko and Zameer Manji.
Changes
-------
Rebased + fixed merge conflicts.
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 (updated)
-----
src/main/java/org/apache/aurora/scheduler/ResourceSlot.java
0b15834ec67959d3be94f9a5240ed38f43ac4c5b
src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
dd64a2250ab40663fc7a0296c11206aaed178d7f
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
846914eeba38004e5e7d61ccb76b5219442d8daf
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
65b4836d39f70295264a58e3227863fa4ced705c
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
22faccf42c3cc1181ef2830cd0b86a3146779d14
src/test/java/org/apache/aurora/scheduler/mesos/Offers.java PRE-CREATION
src/test/java/org/apache/aurora/scheduler/mesos/TaskExecutors.java
PRE-CREATION
src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora
67d3dbb6ea02baacfbed72e9d70c3109b3a37759
src/test/sh/org/apache/aurora/e2e/validate_serverset.py
66fa965044a4998857b6458582eeb3296558168d
Diff: https://reviews.apache.org/r/30203/diff/
Testing
-------
Thanks,
Bill Farner