-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/27746/
-----------------------------------------------------------
Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
Bugs: AURORA-920
https://issues.apache.org/jira/browse/AURORA-920
Repository: aurora
Description
-------
Apologies for the large diff - this is a thread that began with fixing a
SchedulerDriver-related race that would exist if we moved to an async event
bus. Most of the green code is not new, but extracted from broken-apart and/or
deleted files. However, i think this refactor makes the lifecycle of the
scheduler (and driver) easier to reason about.
Changes of note:
- We now use AbstractIdleService to manage the call order on the
SchedulerDriver (as well as HistoryPruner, but that is only loosely related).
- Many mesos-specific classes were moved to `org.apache.aurora.scheduler.mesos`
- Command line args used directly from `DriverFactoryImpl` are now properly
injected via `DriverSettings`
- Untestable code around creating the driver is cordoned off to
`DriverFactoryImpl`, which is a minimal shim over the `MesosSchedulerDriver`
constructor
- Extracted modules that should not be used in tests: `LibMesosLoadingModule`
and `CommandLineDriverSettingsModule`
Diffs
-----
config/legacy_untested_classes.txt f1d19210a722ee2c1838c4ffa0eec1f42d05c2d3
src/main/java/org/apache/aurora/scheduler/Driver.java
b07378f3772136177c81a65497152e9d6524b0a7
src/main/java/org/apache/aurora/scheduler/DriverFactory.java
9cc04a84a37374ffca418e2ff767992ee23b9f3e
src/main/java/org/apache/aurora/scheduler/MesosSchedulerImpl.java
c424ecdaefb1b872adb4ef32a2aca088cee26f7f
src/main/java/org/apache/aurora/scheduler/MesosTaskFactory.java
ad07bcaa3a372efab1b6ba6165f5c44acf8de4cf
src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java
453f22a8e97dbf535dd99598332e71e944ebf8d2
src/main/java/org/apache/aurora/scheduler/SchedulerModule.java
8d306409bc382fbe5c53bb394d03c923b8f75889
src/main/java/org/apache/aurora/scheduler/app/AppModule.java
9ec3f412a9a9210279a2ce666bd99f61481ab92d
src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
048740953629a950c136179c9b880b8dce8fa932
src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
9bc42d3761d3fc72f009716cf087d4ac3c26dce4
src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java
feb70a9351fe804b6745304e4cbbf6d010c56579
src/main/java/org/apache/aurora/scheduler/async/JobUpdateHistoryPruner.java
0b023a25292907b8211274f1533d89de7c4b7ce4
src/main/java/org/apache/aurora/scheduler/async/KillRetry.java
e656c7ec7349b54b07f8c734266445d1fc15fabb
src/main/java/org/apache/aurora/scheduler/async/OfferQueue.java
1a45d08c8854a335161476c8321c751f763dc12e
src/main/java/org/apache/aurora/scheduler/async/TaskTimeout.java
89140223f4f3acd02ade6fb95734744ef19d89bc
src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/Driver.java PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/DriverFactory.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/DriverFactoryImpl.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/DriverSettings.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/LibMesosLoadingModule.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java
PRE-CREATION
src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
6d2ac494030018b100c1d01ce373c4896f2ed7d2
src/main/java/org/apache/aurora/scheduler/state/StateModule.java
fe16d3a367b4b99b32a25d5ae55a3817a290e5e0
src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java
78a9670573261b2bdae0810c104ca7c1e4736ea8
src/main/java/org/apache/aurora/scheduler/storage/log/EntrySerializer.java
cbb711fa555c94626963b4d9540a71e6a737abd8
src/main/java/org/apache/aurora/scheduler/storage/log/StreamManagerImpl.java
855573efea68ba4f29b3c7fbfb8da56bbdad352b
src/test/java/org/apache/aurora/scheduler/DriverFactoryImplTest.java
0f6192269cc122580869ae7717acad161fac6f1d
src/test/java/org/apache/aurora/scheduler/DriverTest.java
a96dd87421c32e4da4da4c953dda4c6be4e8e592
src/test/java/org/apache/aurora/scheduler/MesosSchedulerImplTest.java
8dd908e69c71e96d03806e0c4ceb00dab81d756f
src/test/java/org/apache/aurora/scheduler/MesosTaskFactoryImplTest.java
aa026cf3b6ace5e0aaf9b239aff0c2f3210a0883
src/test/java/org/apache/aurora/scheduler/SchedulerLifecycleTest.java
986160133a3471fc36cad2615c2aa1a7d8983b5a
src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java
713797182e22956640eeffb796e0a0ff7ec3ddc9
src/test/java/org/apache/aurora/scheduler/app/local/FakeMaster.java
98718c4c75c2bf5b4778b634f140eaa108eaf3b6
src/test/java/org/apache/aurora/scheduler/app/local/LocalSchedulerMain.java
43d73b1895bb0b539196c75344bec1c090fc6410
src/test/java/org/apache/aurora/scheduler/async/AsyncModuleTest.java
62d8aab3edb03c79777ed3fa1e38e92fd8a06064
src/test/java/org/apache/aurora/scheduler/async/GcExecutorLauncherTest.java
059a276b21bfc271ae45f923190a8eafbd98d723
src/test/java/org/apache/aurora/scheduler/async/KillRetryTest.java
8ad9f5c65ede1bacfdb0eec46aee9af00e625508
src/test/java/org/apache/aurora/scheduler/async/OfferQueueImplTest.java
15fb7ff617bdd25583c369385193fdcbbf5d8b36
src/test/java/org/apache/aurora/scheduler/async/TaskGroupsTest.java
1d84496e3213510668a82fc1d9a9734617c7eb3d
src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java
1caaf1487f1fdcdea6feff7d194fa6aae47078e3
src/test/java/org/apache/aurora/scheduler/async/TaskTimeoutTest.java
e79327c3b8ead01495e063e5c0e9270568e16f69
src/test/java/org/apache/aurora/scheduler/mesos/SchedulerDriverServiceTest.java
PRE-CREATION
src/test/java/org/apache/aurora/scheduler/quota/QuotaManagerImplTest.java
2fe257416e8fc11be3ebf0dabbf4f63628b3c670
src/test/java/org/apache/aurora/scheduler/sla/MetricCalculatorTest.java
fa6d57404bb7905cb23e220edc8f1d59d47e6315
src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
d8a61458203ac696cb3c5ec61b0b4be6320523ca
src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
c7da5abc7457719e98c03e1217f99444cb29f4cb
src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java
88319ea869589323c4662d4f62b46b2bc964268b
Diff: https://reviews.apache.org/r/27746/diff/
Testing
-------
./gradlew build -Pq
./gradlew run
./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Thanks,
Bill Farner