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


Some of these questions are probably non-sensical due to my limited 
understanding of the scheduler internals, apologies for that ;).


src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java
<https://reviews.apache.org/r/25529/#comment92509>

    Instead of embedding the logic into a switch here, would it make sense to 
make InstanceAction an actual class that encapsulates the logic/defines an 
interface around performing these actions?



src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java
<https://reviews.apache.org/r/25529/#comment92507>

    use instanceName here?



src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java
<https://reviews.apache.org/r/25529/#comment92508>

    Should we log (or assert?) here? Are there other actions that we're 
intentionally not processing, or is it an error if we get an action not covered?



src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java
<https://reviews.apache.org/r/25529/#comment92513>

    Is there a ticket for this?



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
<https://reviews.apache.org/r/25529/#comment92526>

    I don't know if the amount of work done by the underlying calls warrants 
it, but you could DRY this up a bit by having instance vars for 
`storeProvider.getJobUpdateStore()` (used here, and above) and 
`update.getSummary()` (used twice below and once above). If you wanted to go 
completely overboard, `update.getSummary().getJobKey()` is used above and below.



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
<https://reviews.apache.org/r/25529/#comment92533>

    It seems like the logic of what states to transition to from a given state 
is somewhat spread out over the codebase (c.f. 
https://reviews.apache.org/r/25300/diff/#)? Is there any way we can centralize 
that?



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
<https://reviews.apache.org/r/25529/#comment92537>

    Thoughts on changing the Function here to be `Function<JobUpdateStatus, 
Optional<JobUpdateStatus>>` to clean up the null dance below?



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
<https://reviews.apache.org/r/25529/#comment92542>

    Do we need guards in place in case the updaterStatus here is not 
ROLLING_BACK or ROLLING_FORWARD (or is it guaranteed to be one of the two? If 
so, is there danger in the addition of additional statuses in the future 
rendering that assumption invalid?)


- Joshua Cohen


On Sept. 11, 2014, 4:53 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25529/
> -----------------------------------------------------------
> 
> (Updated Sept. 11, 2014, 4:53 a.m.)
> 
> 
> Review request for Aurora, Joshua Cohen, Kevin Sweeney, Maxim Khutornenko, 
> and Zameer Manji.
> 
> 
> Bugs: AURORA-613
>     https://issues.apache.org/jira/browse/AURORA-613
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> There's a lot going on here, i'm happy to break this up if you'd perfer, but 
> the bulk of the change (JobUpdateControllerImpl+Test) would remain.
> 
> The remaining required piece here is to record JobInstanceUpdateEvents when 
> actions are taken.
> 
> As you try to follow JobUpdateControllerImplTest, take some care to 
> understand how FakeScheduledExecutor works.  Ultimately, it accepts work 
> added to a mock, and executes that work when FakeClock is advanced past the 
> scheduled time.  It may not be obvious at first, but be glad it's there - 
> this kind of async test would be a nightmare without it.
> 
> 
> Diffs
> -----
> 
>   build.gradle 3237f8dfa3e7d4249a388042dba840a939d513b3 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java 
> aaa3513ae99c70ffa51fec0a241d67fb815b6d3f 
>   src/main/java/org/apache/aurora/scheduler/base/Jobs.java 
> 7b10cf876d4424fab06113aa3e2989a6bef4d346 
>   src/main/java/org/apache/aurora/scheduler/base/Query.java 
> d8572bb21a92025e7a51cf18d5bdf00fc1281078 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java 
> 1be16374aeebaee59063aec982690ffa1fbdcf0f 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java 
> 8befecaf4f13c0b890b452bc7b9c0618725b8c41 
>   src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java 
> b894a71348d2d71c077f35bb21a80ba88a6b4c42 
>   src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java 
> 599dbd8bb762d051b75aa1a1e4d6a4c90ca6eb87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java 
> ec9b37ccaf03651e986aab9b4541f17ff0540008 
>   
> src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
>  a43e5d7748c22d60f56f03a8a3d52949faebeff2 
>   
> src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
> d725bc356178f51464b4d8ea896f1bf76815e1b2 
>   src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java 
> 39bdca02295706714cf720545ffc291f9042702a 
>   
> src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
>  3f542ce3e45ec4561238736f4ce84b69f7e41219 
>   
> src/main/java/org/apache/aurora/scheduler/updater/JobUpdateEventSubscriber.java
>  7be792f0bc9c5ec14c7001cb243a17d643f9607f 
>   
> src/main/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachine.java 
> 037602d6aabe6dda978cad008075c053e2c042eb 
>   src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdater.java 
> d6a1e4b2c916b1c4dbcc73fe79bd672fca9b3189 
>   
> src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterFactory.java
>  80baa7f9360cc8b2bf7910c26d119d443d6cbbf9 
>   
> src/main/java/org/apache/aurora/scheduler/updater/UpdateConfigurationException.java
>  PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/updater/UpdaterModule.java 
> 028cb079316ca48bb93a35913ae25ace78088fb4 
>   
> src/main/java/org/apache/aurora/scheduler/updater/strategy/ActiveLimitedStrategy.java
>  8298ea2283298daa71de4d958ca6bb0898d47531 
>   
> src/main/java/org/apache/aurora/scheduler/updater/strategy/BatchStrategy.java 
> a3e666e85993b833a4765ce0ad5f4825dc9253e8 
>   
> src/main/java/org/apache/aurora/scheduler/updater/strategy/QueueStrategy.java 
> 0cf36839dbf64ad755383bef829e14fd94a97e30 
>   src/main/thrift/org/apache/aurora/gen/api.thrift 
> c00f94371a27ffab41188b22f81bb1c8ec7a57e9 
>   
> src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java
>  0be4d78dd737b34f8a58276be9ffd7aeaa7f95bb 
>   
> src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
>  0d51f7dc367081f72090736e36605bf363f3395e 
>   
> src/test/java/org/apache/aurora/scheduler/updater/FakeScheduledExecutor.java 
> PRE-CREATION 
>   
> src/test/java/org/apache/aurora/scheduler/updater/InstanceActionHandlerTest.java
>  PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
> f38e6a3e6a798b1c78d73c6d19404156eb6d8c91 
>   
> src/test/java/org/apache/aurora/scheduler/updater/JobUpdateEventSubscriberTest.java
>  41274421aaae30b43abc3da15a63276a941094f9 
>   
> src/test/java/org/apache/aurora/scheduler/updater/JobUpdateStateMachineTest.java
>  6eed641895123d21ed760fa755ce7b30cec3fd44 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
> PRE-CREATION 
>   
> src/test/java/org/apache/aurora/scheduler/updater/OneWayJobUpdateControllerTest.java
>  f0b68350ea39e5925a911e46532982c3d61ee0d6 
>   
> src/test/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterFactoryImplTest.java
>  ae654625370fd3ba8be59b9a37ba343ec7115cba 
>   
> src/test/java/org/apache/aurora/scheduler/updater/strategy/BatchStrategyTest.java
>  e6742dcbe101389710c11e9b75a508f7b61ffe49 
>   
> src/test/java/org/apache/aurora/scheduler/updater/strategy/QueueStrategyTest.java
>  f9a2806708ea1a06a4f0ebe118c777fd9dbe2dcc 
> 
> Diff: https://reviews.apache.org/r/25529/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> Jacoco reports 98% line coverage, 96% branch coverage for the updater package.
> 
> 
> Thanks,
> 
> Bill Farner
> 
>

Reply via email to