aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner" <wfar...@apache.org>
Subject Re: Review Request 25529: Add a controller for job updates.
Date Thu, 11 Sep 2014 22:52:58 GMT


> On Sept. 11, 2014, 6:51 p.m., Zameer Manji wrote:
> > build.gradle, line 262
> > <https://reviews.apache.org/r/25529/diff/1/?file=685001#file685001line262>
> >
> >     Is this needed? If so please break it out of this change.

Context: this has code coverage run without adding -Pq

Happy to pull this out for discussion in another review if you'd like.  Basically, Maxim and
i concluded that jacoco is a small overhead when compared to findbugs, and is a really important
part of running unit tests.  When trying to converge a unit test to 100% coverage, running
the extra checks is a big burden.


> On Sept. 11, 2014, 6:51 p.m., Zameer Manji wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/InstanceActionHandler.java, line
109
> > <https://reviews.apache.org/r/25529/diff/1/?file=685011#file685011line109>
> >
> >     Would it be a bad idea to encapsulate this into a InstanceName class that contains
the logic for constructing one from JobKey + instanceId and how to render it to a String?
> >     
> >     It seems like a bit of overkill but I dislike the + "/" in the code.

Maybe a method rather than a class?  The "/" is orthogonal to extracting a helper.  I don't
care about formatting - just that logs have necessary context.


> On Sept. 11, 2014, 6:51 p.m., Zameer Manji wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java,
line 94
> > <https://reviews.apache.org/r/25529/diff/1/?file=685014#file685014line94>
> >
> >     Just to be clear, currently-active updaters are also persisted in storage right?

Yes.


> On Sept. 11, 2014, 6:51 p.m., Zameer Manji wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java,
line 357
> > <https://reviews.apache.org/r/25529/diff/1/?file=685014#file685014line357>
> >
> >     Shouldn't this just be FAILED?

There's another static import for another FAILED.


> On Sept. 11, 2014, 6:51 p.m., Zameer Manji wrote:
> > src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterFactory.java,
line 93
> > <https://reviews.apache.org/r/25529/diff/1/?file=685018#file685018line93>
> >
> >     How are these errors going to be surfaced to the user?

Maxim and i stepped on toes here, so this validation moves up the stack with https://reviews.apache.org/r/25481/


- Bill


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


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
> 
>


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