> On April 28, 2015, 11:48 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java, line 
> > 154
> > <https://reviews.apache.org/r/33612/diff/1/?file=944389#file944389line154>
> >
> >     One perf improvement here could be avoiding deleting TaskConfigs as 
> > they are going to be re-inserted right away by the following loop (a very 
> > likely scenario for something like 'killall'). In fact, I don't see how 
> > `saveTasks` could require deleting any configs at all. Perhaps leave a TODO 
> > to carve out a `deleteTasksWithoutConfigs` method?
> 
> Bill Farner wrote:
>     This would break behavior alignment with MemTaskStore, which i would 
> really prefer to avoid at this phase (`saveTasks()` can technically be used 
> as an upsert).
> 
> Maxim Khutornenko wrote:
>     It's still not clear to me how upsert of a scheduled task can ever 
> require deleting any task configs. It's an additive operation by definition 
> that cannot possiblty render any TaskConfigs irrelevant.

It's effectively an upsert in practice because MemTaskStore just does a 
`Map.putAll`, possibly replacing values.


- Bill


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


On April 28, 2015, 8:11 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33612/
> -----------------------------------------------------------
> 
> (Updated April 28, 2015, 8:11 p.m.)
> 
> 
> Review request for Aurora, Joshua Cohen, Kevin Sweeney, and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-556
>     https://issues.apache.org/jira/browse/AURORA-556
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add a task store implementation that uses a relational database.
> 
> The meat of this review is in `DbTaskStore`, `TaskConfigManager`, and the 
> mapper xml files.  Some supporting actors include files under views/, which 
> serve DB business objects.  I suggest reviewers start by skimming 
> `DbTaskStore` and digesting the comments in there.
> 
> There are some known loose ends here, most notably being continued 
> performance enhancements and cleanup of relations in different tables.  I've 
> included several relevant TODOs, ~all of which must be addressed before this 
> becomes the default task store.
> 
> 
> Diffs
> -----
> 
>   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
> 0182ecb3942cfa2d9dd21138779815f4500339be 
>   examples/vagrant/upstart/aurora-scheduler.conf 
> 82ad42fd0a626672dca80a5362fc07d804b3e412 
>   src/jmh/java/org/apache/aurora/benchmark/ThriftApiBenchmarks.java 
> ed1171d52655fef643330f34913c256f77300fa2 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 
> 3d19831ea0eb85032172b096ac87e126701aa218 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java 
> 94ce5c3499ced1b63abf19787acc21b2cd4d0c75 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java 
> c8df88b77b9a2017c48bdc0c9a0477927ba0b179 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 
> 1a6c3f21d4fcb476539f588facecd8ef37332837 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/TaskConfigManager.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/TaskConfigMapper.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/TaskMapper.java 
> PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/shims/ContainerShim.java 
> PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/shims/TaskConstraintShim.java
>  PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/typehandlers/ScheduleStatusTypeHandler.java
>  PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/typehandlers/TypeHandlers.java
>  4d0c10d60037a3310226a6fd8936b84ae4135e7e 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/views/AssignedPort.java 
> PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/views/ScheduledTaskWrapper.java
>  PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/db/views/TaskConfigRow.java 
> PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/TaskLink.java 
> PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/storage/mem/InMemStoresModule.java 
> 21f7d4db821930d2c5b52648e1996aa1ef12a85c 
>   
> src/main/resources/org/apache/aurora/scheduler/storage/db/JobUpdateDetailsMapper.xml
>  f76f9a988669dab598e9d19f849018c6f55ce03e 
>   
> src/main/resources/org/apache/aurora/scheduler/storage/db/TaskConfigMapper.xml
>  PRE-CREATION 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/TaskMapper.xml 
> PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 
> afb7db8eefa63b84d370877742870acdec58899c 
>   
> src/test/java/org/apache/aurora/scheduler/storage/AbstractTaskStoreTest.java 
> e3b13407cb6875489e50cf93212845eab7aacb89 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbTaskStoreTest.java 
> PRE-CREATION 
>   
> src/test/java/org/apache/aurora/scheduler/storage/mem/InMemTaskStoreTest.java 
> f18619a27eeb2aea8dcf01e54c23ed7d1c7d3d87 
>   
> src/test/java/org/apache/aurora/scheduler/storage/mem/StorageTransactionTest.java
>  bad9eb56b33c3e649c3b173e83d9c30da8f9317d 
> 
> Diff: https://reviews.apache.org/r/33612/diff/
> 
> 
> Testing
> -------
> 
> Unit tests and end-to-end tests, both using the new task store by default 
> with this change.
> 
> 
> Thanks,
> 
> Bill Farner
> 
>

Reply via email to