Re: Review Request 37049: Integrating DelayExecutor into the scheduler's transaction handling.

2015-08-03 Thread Aurora ReviewBot

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

Ship it!


Master (7fdcfef) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing @ReviewBot 
retry

- Aurora ReviewBot


On Aug. 3, 2015, 11:49 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/37049/
 ---
 
 (Updated Aug. 3, 2015, 11:49 p.m.)
 
 
 Review request for Aurora and Kevin Sweeney.
 
 
 Bugs: AURORA-1395
 https://issues.apache.org/jira/browse/AURORA-1395
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This creates two fundamental ways of performing asynchronous work in the 
 scheduler:
 - Consume `@AsyncExecutor DelayExecutor` to perform work in the context of a 
 database transaction, completing the work after the transaction
 - Consume `@BackgroundWorker ScheduledExecutorService` to perform work 
 entirely in the background
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
 c345c926512431e447649689d152b1ffa876ee85 
   src/main/java/org/apache/aurora/scheduler/async/GatedDelayExecutor.java 
 1893a9bcbf6167177d8d0e83ec8ea4c10da899f0 
   src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 
 4b8a55fe5530c0b3e483838035cd1ee0f00a2c71 
   src/main/java/org/apache/aurora/scheduler/pruning/TaskHistoryPruner.java 
 fa9a09c19ad56cb0c13460464c6445cfe326c89b 
   src/main/java/org/apache/aurora/scheduler/reconciliation/KillRetry.java 
 1611a3b69776ef72ed29fa2bd73df26442183a26 
   
 src/main/java/org/apache/aurora/scheduler/reconciliation/ReconciliationModule.java
  406c07767b2bd4f4d80b9f0af72ae1cb4e457bc0 
   
 src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java 
 653e52b340edd6c87c12b0fdf760edf6d9d62722 
   src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java 
 fb8397260406cd45fcdfec17872b6ad4a011f2c5 
   src/main/java/org/apache/aurora/scheduler/scheduling/TaskGroups.java 
 e60daad8606a7060f690f9a75d9c5bce0107522c 
   src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java 
 e54e6c4b5b43b604110da11680b002f6d4b12df9 
   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java 
 ed92661605e27673c176b91535e4773be2a920a3 
   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 
 a1f0d3ca89189a7791e823fec708b41a164cb7e0 
   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 
 3a86614767cf0435add237901b12d8108be09970 
   src/test/java/org/apache/aurora/scheduler/async/AsyncModuleTest.java 
 5384307a6e4bf27800ab9e5104d0e74ac748e515 
   src/test/java/org/apache/aurora/scheduler/http/JettyServerModuleTest.java 
 91b91bc7bbaeaa5341565a8ee1ac3a97ea8a1620 
   
 src/test/java/org/apache/aurora/scheduler/http/api/security/HttpSecurityIT.java
  e725e102c4321c3aa30d89581783744475897f94 
   src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java 
 088a4a6e874acc4926414bc30806e45fb961adec 
   
 src/test/java/org/apache/aurora/scheduler/pruning/TaskHistoryPrunerTest.java 
 532b0ea70504b8b13f5e0ada5a519635c804a4b7 
   src/test/java/org/apache/aurora/scheduler/reconciliation/KillRetryTest.java 
 26f65fa99eab0a4d56d3e2da16e5704223c53780 
   
 src/test/java/org/apache/aurora/scheduler/reconciliation/TaskTimeoutTest.java 
 97d25f9b20e49783e1576910883201f6e37f584f 
   src/test/java/org/apache/aurora/scheduler/scheduling/TaskGroupsTest.java 
 55aad3572e3b93a73085dc94b135b63b81454cbc 
   src/test/java/org/apache/aurora/scheduler/scheduling/TaskThrottlerTest.java 
 405502122325927aa90b36a89c55667042e01ca7 
   src/test/java/org/apache/aurora/scheduler/storage/db/DbStorageTest.java 
 a4bcdd7ad06da21e17c43a53854658049e03eb0e 
   
 src/test/java/org/apache/aurora/scheduler/testing/FakeScheduledExecutor.java 
 e198c1caca201d2a599404341d3ada6fae8f1b9d 
 
 Diff: https://reviews.apache.org/r/37049/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Review Request 37049: Integrating DelayExecutor into the scheduler's transaction handling.

2015-08-03 Thread Bill Farner

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

Review request for Aurora and Kevin Sweeney.


Bugs: AURORA-1395
https://issues.apache.org/jira/browse/AURORA-1395


Repository: aurora


Description
---

This creates two fundamental ways of performing asynchronous work in the 
scheduler:
- Consume `@AsyncExecutor DelayExecutor` to perform work in the context of a 
database transaction, completing the work after the transaction
- Consume `@BackgroundWorker ScheduledExecutorService` to perform work entirely 
in the background


Diffs
-

  src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
c345c926512431e447649689d152b1ffa876ee85 
  src/main/java/org/apache/aurora/scheduler/async/GatedDelayExecutor.java 
1893a9bcbf6167177d8d0e83ec8ea4c10da899f0 
  src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 
4b8a55fe5530c0b3e483838035cd1ee0f00a2c71 
  src/main/java/org/apache/aurora/scheduler/pruning/TaskHistoryPruner.java 
fa9a09c19ad56cb0c13460464c6445cfe326c89b 
  src/main/java/org/apache/aurora/scheduler/reconciliation/KillRetry.java 
1611a3b69776ef72ed29fa2bd73df26442183a26 
  
src/main/java/org/apache/aurora/scheduler/reconciliation/ReconciliationModule.java
 406c07767b2bd4f4d80b9f0af72ae1cb4e457bc0 
  src/main/java/org/apache/aurora/scheduler/reconciliation/TaskReconciler.java 
653e52b340edd6c87c12b0fdf760edf6d9d62722 
  src/main/java/org/apache/aurora/scheduler/reconciliation/TaskTimeout.java 
fb8397260406cd45fcdfec17872b6ad4a011f2c5 
  src/main/java/org/apache/aurora/scheduler/scheduling/TaskGroups.java 
e60daad8606a7060f690f9a75d9c5bce0107522c 
  src/main/java/org/apache/aurora/scheduler/scheduling/TaskThrottler.java 
e54e6c4b5b43b604110da11680b002f6d4b12df9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java 
ed92661605e27673c176b91535e4773be2a920a3 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 
a1f0d3ca89189a7791e823fec708b41a164cb7e0 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 
3a86614767cf0435add237901b12d8108be09970 
  src/test/java/org/apache/aurora/scheduler/async/AsyncModuleTest.java 
5384307a6e4bf27800ab9e5104d0e74ac748e515 
  src/test/java/org/apache/aurora/scheduler/http/JettyServerModuleTest.java 
91b91bc7bbaeaa5341565a8ee1ac3a97ea8a1620 
  
src/test/java/org/apache/aurora/scheduler/http/api/security/HttpSecurityIT.java 
e725e102c4321c3aa30d89581783744475897f94 
  src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java 
088a4a6e874acc4926414bc30806e45fb961adec 
  src/test/java/org/apache/aurora/scheduler/pruning/TaskHistoryPrunerTest.java 
532b0ea70504b8b13f5e0ada5a519635c804a4b7 
  src/test/java/org/apache/aurora/scheduler/reconciliation/KillRetryTest.java 
26f65fa99eab0a4d56d3e2da16e5704223c53780 
  src/test/java/org/apache/aurora/scheduler/reconciliation/TaskTimeoutTest.java 
97d25f9b20e49783e1576910883201f6e37f584f 
  src/test/java/org/apache/aurora/scheduler/scheduling/TaskGroupsTest.java 
55aad3572e3b93a73085dc94b135b63b81454cbc 
  src/test/java/org/apache/aurora/scheduler/scheduling/TaskThrottlerTest.java 
405502122325927aa90b36a89c55667042e01ca7 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbStorageTest.java 
a4bcdd7ad06da21e17c43a53854658049e03eb0e 
  src/test/java/org/apache/aurora/scheduler/testing/FakeScheduledExecutor.java 
e198c1caca201d2a599404341d3ada6fae8f1b9d 

Diff: https://reviews.apache.org/r/37049/diff/


Testing
---


Thanks,

Bill Farner



Review Request 37041: Remove defunct scheduler-local.sh.

2015-08-03 Thread Bill Farner

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

Review request for Aurora and Maxim Khutornenko.


Repository: aurora


Description
---

Remove defunct scheduler-local.sh.


Diffs
-

  examples/scheduler/scheduler-local.sh 
5b5d2fc3db6e24e38e9f73eff5f14224b81fed4f 

Diff: https://reviews.apache.org/r/37041/diff/


Testing
---

Confirmed unused:

```
$ grep -RI 'scheduler-local.sh' . | grep -v '.git' | wc -l
0
```


Thanks,

Bill Farner



Re: Review Request 36972: One python_library per exported setup.py project

2015-08-03 Thread Kevin Sweeney


 On July 31, 2015, 3:21 p.m., Brian Wickman wrote:
  I think it makes sense to split into two binary-exporting packages: one 
  client-side and one server-side.  The client side (aurora.client) should 
  contain aurora client and aurora admin client. The server-side (reuse 
  aurora.executor?) should contain aurora executor, thermos cli, thermos 
  observer and thermos runner.
 
 Kevin Sweeney wrote:
 I like this suggestion and would like to refactor the code to fit it into 
 this framework. Would you accept that in a follow-up review?
 
 Specifically there would then be 3 top-level packages (5 if you count the 
 thrift API bindings, which I would also like to export to allow folks to 
 write clients)
 
 ```
 src/main/python/apache/aurora
   common/
   client/
   executor/
 ```
 
 ```
 % pip install apache.aurora.executor
 # thermos
 # thermos-executor
 # thermos-observer
 # thermos-runner
 
 % pip install apache.aurora.client
 # aurora
 # aurora-admin
 ```
 
 Everything else would remain more-or-less organized the same but move to 
 a subpackage of one of the top-level targets. The rule is simple - if both 
 server-side and client-side import something it goes under common/, otherwise 
 it goes under client/ or executor/ as appropriate.
 
 Brian Wickman wrote:
 This seems reasonable.  I'd prefer to keep the name aurora-executor but 
 it probably merits public debate.

The name aurora-executor is fine with me, in this case I've left it unchanged 
as thermos_executor. But I agree a debate on the proposed renaming can take 
place on another review.


- Kevin


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


On Aug. 1, 2015, 3:38 p.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36972/
 ---
 
 (Updated Aug. 1, 2015, 3:38 p.m.)
 
 
 Review request for Aurora, Bill Farner and Brian Wickman.
 
 
 Bugs: AURORA-1381
 https://issues.apache.org/jira/browse/AURORA-1381
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is a mostly red code diff and makes the pants build work similar to how 
 it already works in an IDE environment while minimizing duplicated 
 information. This change also removes the confusing versions of `thermos` and 
 `thermos_observer` in favor of new ones. Because of the way covering 
 dependencies were required it was easier to do this refactor than more 
 tactically create a working `setup_py` target for `apache.aurora.tools` 
 without cycles and without duplicated files.
 
 * Remove the `apache.thermos` package.
 * Rename the `apache.gen.aurora` package to `apache.aurora.thrift`.
 * Rename the `apache.gen.thermos` package to `apache.thermos.thrift`.
 * Introduce a new `apache.aurora.tools` package with the `thermos` and 
 `thermos_observer` binaries.
 * Create apache.thermos.runner package, rename `thermos/bin` to 
 `thermos/runner`.
 * Remove all `*-packaged` and virtual dependency trees, as well as the phrase 
 covering dependencies.
 * Use `_`-prefix naming convention for private target names.
 * Replace manual list of targets in `make-python-sdists` with 
 automatically-generated one (using new convention).
 * Introduce a new `apache.aurora.kerberos` package with the `kaurora` and 
 `kaurora_admin` binaries.
 * Remove all `BUILD` files in `src/main` that don't contain an exported 
 `setup.py` library (except one mentioned in TODO).
 * Use dictionary syntax in `with_binaries`.
 * Remove unused/unreachable binaries (most `bin/` dirs under `thermos/`).
 * Create blank `__init__.py` files in directories that pants warns aren't 
 packages.
 * Added `thermos` command to vagrant image.
 
 
 Diffs
 -
 
   NEWS 0a8500c524a92eaf51384125687128d2fbbb0b53 
   api/src/main/thrift/org/apache/aurora/gen/BUILD 
 d196fefc2c5e5ee32d0cf9c901cffe7d247379d1 
   api/src/main/thrift/org/apache/thermos/BUILD 
 d0d789a6ee3971e3070f9397d53929563a77f7ea 
   build-support/packaging/debian/rules 
 17e00c02a3cb3294d5107516d795a73587ca4f70 
   build-support/packaging/rpm/aurora.spec 
 7cf8de6f7b99788ca461a90fc4aefba7dccd7b63 
   build-support/python/make-pycharm-virtualenv 
 05a16d0d421982bcfb2e649be7b83a17d813efb1 
   build-support/release/make-python-sdists 
 9608f68e16243da01434ce2fc7d61bb7c7efd712 
   docs/README.md 9893763cb75faf1aeb66ed905e9f696d4b532d16 
   docs/build-system.md PRE-CREATION 
   examples/vagrant/aurorabuild.sh fbaa6ae9ef7ff2910af8c9c0d6b8ef90ea3e152a 
   src/main/python/apache/aurora/admin/BUILD 
 22bf3f9943ea11258ba681bdb80feb00206bb926 
   src/main/python/apache/aurora/admin/aurora_admin.py 
 

Re: Review Request 36972: One python_library per exported setup.py project

2015-08-03 Thread Brian Wickman


 On July 31, 2015, 10:21 p.m., Brian Wickman wrote:
  I think it makes sense to split into two binary-exporting packages: one 
  client-side and one server-side.  The client side (aurora.client) should 
  contain aurora client and aurora admin client. The server-side (reuse 
  aurora.executor?) should contain aurora executor, thermos cli, thermos 
  observer and thermos runner.
 
 Kevin Sweeney wrote:
 I like this suggestion and would like to refactor the code to fit it into 
 this framework. Would you accept that in a follow-up review?
 
 Specifically there would then be 3 top-level packages (5 if you count the 
 thrift API bindings, which I would also like to export to allow folks to 
 write clients)
 
 ```
 src/main/python/apache/aurora
   common/
   client/
   executor/
 ```
 
 ```
 % pip install apache.aurora.executor
 # thermos
 # thermos-executor
 # thermos-observer
 # thermos-runner
 
 % pip install apache.aurora.client
 # aurora
 # aurora-admin
 ```
 
 Everything else would remain more-or-less organized the same but move to 
 a subpackage of one of the top-level targets. The rule is simple - if both 
 server-side and client-side import something it goes under common/, otherwise 
 it goes under client/ or executor/ as appropriate.

This seems reasonable.  I'd prefer to keep the name aurora-executor but it 
probably merits public debate.


- Brian


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


On Aug. 1, 2015, 10:38 p.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36972/
 ---
 
 (Updated Aug. 1, 2015, 10:38 p.m.)
 
 
 Review request for Aurora, Bill Farner and Brian Wickman.
 
 
 Bugs: AURORA-1381
 https://issues.apache.org/jira/browse/AURORA-1381
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is a mostly red code diff and makes the pants build work similar to how 
 it already works in an IDE environment while minimizing duplicated 
 information. This change also removes the confusing versions of `thermos` and 
 `thermos_observer` in favor of new ones. Because of the way covering 
 dependencies were required it was easier to do this refactor than more 
 tactically create a working `setup_py` target for `apache.aurora.tools` 
 without cycles and without duplicated files.
 
 * Remove the `apache.thermos` package.
 * Rename the `apache.gen.aurora` package to `apache.aurora.thrift`.
 * Rename the `apache.gen.thermos` package to `apache.thermos.thrift`.
 * Introduce a new `apache.aurora.tools` package with the `thermos` and 
 `thermos_observer` binaries.
 * Create apache.thermos.runner package, rename `thermos/bin` to 
 `thermos/runner`.
 * Remove all `*-packaged` and virtual dependency trees, as well as the phrase 
 covering dependencies.
 * Use `_`-prefix naming convention for private target names.
 * Replace manual list of targets in `make-python-sdists` with 
 automatically-generated one (using new convention).
 * Introduce a new `apache.aurora.kerberos` package with the `kaurora` and 
 `kaurora_admin` binaries.
 * Remove all `BUILD` files in `src/main` that don't contain an exported 
 `setup.py` library (except one mentioned in TODO).
 * Use dictionary syntax in `with_binaries`.
 * Remove unused/unreachable binaries (most `bin/` dirs under `thermos/`).
 * Create blank `__init__.py` files in directories that pants warns aren't 
 packages.
 * Added `thermos` command to vagrant image.
 
 
 Diffs
 -
 
   NEWS 0a8500c524a92eaf51384125687128d2fbbb0b53 
   api/src/main/thrift/org/apache/aurora/gen/BUILD 
 d196fefc2c5e5ee32d0cf9c901cffe7d247379d1 
   api/src/main/thrift/org/apache/thermos/BUILD 
 d0d789a6ee3971e3070f9397d53929563a77f7ea 
   build-support/packaging/debian/rules 
 17e00c02a3cb3294d5107516d795a73587ca4f70 
   build-support/packaging/rpm/aurora.spec 
 7cf8de6f7b99788ca461a90fc4aefba7dccd7b63 
   build-support/python/make-pycharm-virtualenv 
 05a16d0d421982bcfb2e649be7b83a17d813efb1 
   build-support/release/make-python-sdists 
 9608f68e16243da01434ce2fc7d61bb7c7efd712 
   docs/README.md 9893763cb75faf1aeb66ed905e9f696d4b532d16 
   docs/build-system.md PRE-CREATION 
   examples/vagrant/aurorabuild.sh fbaa6ae9ef7ff2910af8c9c0d6b8ef90ea3e152a 
   src/main/python/apache/aurora/admin/BUILD 
 22bf3f9943ea11258ba681bdb80feb00206bb926 
   src/main/python/apache/aurora/admin/aurora_admin.py 
 1c39717b656465bb1966073340f9fe80be01a085 
   src/main/python/apache/aurora/client/BUILD 
 e73cd52289209bb9658b16bb77dc0b0a9c811a1a 
   src/main/python/apache/aurora/client/api/BUILD 
 a030a67b78fc4bc4682d0df169e27efc6810dce3 
   

Re: Review Request 36972: One python_library per exported setup.py project

2015-08-03 Thread Brian Wickman

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

Ship it!


- Brian Wickman


On Aug. 1, 2015, 10:38 p.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36972/
 ---
 
 (Updated Aug. 1, 2015, 10:38 p.m.)
 
 
 Review request for Aurora, Bill Farner and Brian Wickman.
 
 
 Bugs: AURORA-1381
 https://issues.apache.org/jira/browse/AURORA-1381
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is a mostly red code diff and makes the pants build work similar to how 
 it already works in an IDE environment while minimizing duplicated 
 information. This change also removes the confusing versions of `thermos` and 
 `thermos_observer` in favor of new ones. Because of the way covering 
 dependencies were required it was easier to do this refactor than more 
 tactically create a working `setup_py` target for `apache.aurora.tools` 
 without cycles and without duplicated files.
 
 * Remove the `apache.thermos` package.
 * Rename the `apache.gen.aurora` package to `apache.aurora.thrift`.
 * Rename the `apache.gen.thermos` package to `apache.thermos.thrift`.
 * Introduce a new `apache.aurora.tools` package with the `thermos` and 
 `thermos_observer` binaries.
 * Create apache.thermos.runner package, rename `thermos/bin` to 
 `thermos/runner`.
 * Remove all `*-packaged` and virtual dependency trees, as well as the phrase 
 covering dependencies.
 * Use `_`-prefix naming convention for private target names.
 * Replace manual list of targets in `make-python-sdists` with 
 automatically-generated one (using new convention).
 * Introduce a new `apache.aurora.kerberos` package with the `kaurora` and 
 `kaurora_admin` binaries.
 * Remove all `BUILD` files in `src/main` that don't contain an exported 
 `setup.py` library (except one mentioned in TODO).
 * Use dictionary syntax in `with_binaries`.
 * Remove unused/unreachable binaries (most `bin/` dirs under `thermos/`).
 * Create blank `__init__.py` files in directories that pants warns aren't 
 packages.
 * Added `thermos` command to vagrant image.
 
 
 Diffs
 -
 
   NEWS 0a8500c524a92eaf51384125687128d2fbbb0b53 
   api/src/main/thrift/org/apache/aurora/gen/BUILD 
 d196fefc2c5e5ee32d0cf9c901cffe7d247379d1 
   api/src/main/thrift/org/apache/thermos/BUILD 
 d0d789a6ee3971e3070f9397d53929563a77f7ea 
   build-support/packaging/debian/rules 
 17e00c02a3cb3294d5107516d795a73587ca4f70 
   build-support/packaging/rpm/aurora.spec 
 7cf8de6f7b99788ca461a90fc4aefba7dccd7b63 
   build-support/python/make-pycharm-virtualenv 
 05a16d0d421982bcfb2e649be7b83a17d813efb1 
   build-support/release/make-python-sdists 
 9608f68e16243da01434ce2fc7d61bb7c7efd712 
   docs/README.md 9893763cb75faf1aeb66ed905e9f696d4b532d16 
   docs/build-system.md PRE-CREATION 
   examples/vagrant/aurorabuild.sh fbaa6ae9ef7ff2910af8c9c0d6b8ef90ea3e152a 
   src/main/python/apache/aurora/admin/BUILD 
 22bf3f9943ea11258ba681bdb80feb00206bb926 
   src/main/python/apache/aurora/admin/aurora_admin.py 
 1c39717b656465bb1966073340f9fe80be01a085 
   src/main/python/apache/aurora/client/BUILD 
 e73cd52289209bb9658b16bb77dc0b0a9c811a1a 
   src/main/python/apache/aurora/client/api/BUILD 
 a030a67b78fc4bc4682d0df169e27efc6810dce3 
   src/main/python/apache/aurora/client/cli/BUILD 
 973d05971bd940c7e38c48ce6bfbf5c8e1654c5a 
   src/main/python/apache/aurora/client/cli/client.py 
 c0974f3bef59f8f7c2320398d367cb4dd9048d2b 
   src/main/python/apache/aurora/client/hooks/BUILD 
 ddf813b5d2e7d63507a8e08745ebf6cb3dbac8e1 
   src/main/python/apache/aurora/common/BUILD 
 abc122b0775bb17b1df67bdb946c472010219b9b 
   src/main/python/apache/aurora/common/auth/BUILD 
 0abac94eeeb71e6af43ed191ea690e5f96a6be23 
   src/main/python/apache/aurora/common/auth/kerberos.py 
 2d782b63b611a9d2604ef0ab1116d3e68fb86dc7 
   src/main/python/apache/aurora/config/BUILD 
 0a3a93fa6bb785903f71bc067aecc79c0e45a0b5 
   src/main/python/apache/aurora/config/schema/BUILD 
 171f42a24ec7ddc2846eb68b6a60e7d8dec4383b 
   src/main/python/apache/aurora/executor/BUILD 
 891cbe63d23ea59a68ca99f62d29be5713c9b91d 
   src/main/python/apache/aurora/executor/bin/BUILD 
 b23429ab9d1d3db1af2bb1b77f5bce30de19f34b 
   src/main/python/apache/aurora/executor/common/BUILD 
 3d94792b9e3c2d0f7bb7ce42616f08947f5119ee 
   src/main/python/apache/aurora/kerberos/BUILD PRE-CREATION 
   src/main/python/apache/aurora/tools/BUILD 
 9dfeb6c7e5a3796c76250aa9ff6fd4230d00cfb0 
   src/main/python/apache/thermos/BUILD 
 8221aa0bd4efe5f519550cba716d6a564ba9ae44 
   src/main/python/apache/thermos/bin/BUILD 
 4f0cb9b67b1c3c52ec3278ce92ff0d765257796c 
   src/main/python/apache/thermos/bin/__init__.py  
   

Re: Review Request 37001: Centralizing offer/task matching in TaskAssigner.

2015-08-03 Thread Maxim Khutornenko


 On Aug. 3, 2015, 5:38 p.m., Zameer Manji wrote:
  src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java, 
  line 111
  https://reviews.apache.org/r/37001/diff/1/?file=1026645#file1026645line111
 
  nit: Was it needed to flip the BiCache type here? If not, it would be 
  nice not to do it to minimize the diff.

Swapping key/value here allows getting rid of 2 `getByValue()` calls that 
return set-based results. This simplifies expectations and result handling 
quite a bit.


- Maxim


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


On July 31, 2015, 11:03 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/37001/
 ---
 
 (Updated July 31, 2015, 11:03 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1416
 https://issues.apache.org/jira/browse/AURORA-1416
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This releaves `OfferManager` of task matching duties and encapsulates that 
 responsibility entirely within `TaskAssigner`. 
 
 Apologies for the large diff as there is no easy way to carve out multiple 
 commits here. The bulk of yellow/green is in test though.
 
 Summary of changes:
 - OfferManager becomes a purely API-based solution managing and exposing 
 offers
 - TaskAssigner inherits a simplified version of OfferManager.launchFirst() 
 and is now fully responsible for requesting a task launch
 - AssignmentResult is gone along with FunctionHostOffer, Assignment
 - TaskScheduler does not need OfferManager and StateManager anymore
 - TaskSchedulerTest is gone as the coverage it provides has been split 
 between OfferManagerImplTest and TaskSchedulerImplTest. TaskGroups coverage 
 was added in https://reviews.apache.org/r/36994
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 5bc73d58c5914e0ece67f2c3845c62c50ea55222 
   src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java 
 f41330129b221008012fe2bd3632621badb2e125 
   src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 
 14bf265a9260548fc0a26696970fa8a84ebf687f 
   src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java 
 c7a1a46b52cfb60d595cd31d84390e85c657cf32 
   src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java 
 d4bd5299ddbdf108e2520b2ab8a7517cb4c6fff9 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 3acb45a9ffd88ccff0817acde602e133bf56ac4e 
   src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java 
 04be32e8bfe431f3b6a158753936e796b0cc906b 
   
 src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImplTest.java
  a2e2d4c918ad946f8bec256cb1be5e1ba8e2c40f 
   src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerTest.java 
 9a91e63e5b7e72848ec7cac1dfadc4b6e9431216 
   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java 
 f98818fe8649e5aa0104de197bc8573feeecd37c 
 
 Diff: https://reviews.apache.org/r/37001/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
 
 Benchmark testing - no noticable difference in general apart from the limit 
 constraint benchmark (the only dynamic group veto), which benefited from 
 reduced complexity (no isStaticallyBanned() call on every match iteration).
 
 Before:
 ```
 Benchmark 
 (numPendingTasks)   Mode  Cnt   Score   Error  Units
 SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
   N/A  thrpt5  201330.070 ± 13581.745  ops/s
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
   N/A  thrpt5   28745.739 ±  3323.054  ops/s
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
   N/A  thrpt52789.896 ±   447.990  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
 1  thrpt5  53.487 ± 4.865  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
10  thrpt5  54.061 ± 3.724  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
   100  thrpt5  52.667 ± 5.017  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
  1000  thrpt5  43.241 ± 1.809  ops/s
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
   N/A  thrpt5   20517.686 ±  1312.178  ops/s
 ```
 

Re: Review Request 37001: Centralizing offer/task matching in TaskAssigner.

2015-08-03 Thread Zameer Manji

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

Ship it!



src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java (line 
101)
https://reviews.apache.org/r/37001/#comment148359

nit: Was it needed to flip the BiCache type here? If not, it would be nice 
not to do it to minimize the diff.


- Zameer Manji


On July 31, 2015, 4:03 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/37001/
 ---
 
 (Updated July 31, 2015, 4:03 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1416
 https://issues.apache.org/jira/browse/AURORA-1416
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This releaves `OfferManager` of task matching duties and encapsulates that 
 responsibility entirely within `TaskAssigner`. 
 
 Apologies for the large diff as there is no easy way to carve out multiple 
 commits here. The bulk of yellow/green is in test though.
 
 Summary of changes:
 - OfferManager becomes a purely API-based solution managing and exposing 
 offers
 - TaskAssigner inherits a simplified version of OfferManager.launchFirst() 
 and is now fully responsible for requesting a task launch
 - AssignmentResult is gone along with FunctionHostOffer, Assignment
 - TaskScheduler does not need OfferManager and StateManager anymore
 - TaskSchedulerTest is gone as the coverage it provides has been split 
 between OfferManagerImplTest and TaskSchedulerImplTest. TaskGroups coverage 
 was added in https://reviews.apache.org/r/36994
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 5bc73d58c5914e0ece67f2c3845c62c50ea55222 
   src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java 
 f41330129b221008012fe2bd3632621badb2e125 
   src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 
 14bf265a9260548fc0a26696970fa8a84ebf687f 
   src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java 
 c7a1a46b52cfb60d595cd31d84390e85c657cf32 
   src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java 
 d4bd5299ddbdf108e2520b2ab8a7517cb4c6fff9 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 3acb45a9ffd88ccff0817acde602e133bf56ac4e 
   src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java 
 04be32e8bfe431f3b6a158753936e796b0cc906b 
   
 src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerImplTest.java
  a2e2d4c918ad946f8bec256cb1be5e1ba8e2c40f 
   src/test/java/org/apache/aurora/scheduler/scheduling/TaskSchedulerTest.java 
 9a91e63e5b7e72848ec7cac1dfadc4b6e9431216 
   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java 
 f98818fe8649e5aa0104de197bc8573feeecd37c 
 
 Diff: https://reviews.apache.org/r/37001/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
 
 Benchmark testing - no noticable difference in general apart from the limit 
 constraint benchmark (the only dynamic group veto), which benefited from 
 reduced complexity (no isStaticallyBanned() call on every match iteration).
 
 Before:
 ```
 Benchmark 
 (numPendingTasks)   Mode  Cnt   Score   Error  Units
 SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
   N/A  thrpt5  201330.070 ± 13581.745  ops/s
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
   N/A  thrpt5   28745.739 ±  3323.054  ops/s
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
   N/A  thrpt52789.896 ±   447.990  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
 1  thrpt5  53.487 ± 4.865  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
10  thrpt5  54.061 ± 3.724  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
   100  thrpt5  52.667 ± 5.017  ops/s
 SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
  1000  thrpt5  43.241 ± 1.809  ops/s
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
   N/A  thrpt5   20517.686 ±  1312.178  ops/s
 ```
 
 After:
 ```
 Benchmark 
 (numPendingTasks)   Mode  Cnt   Score   Error  Units
 SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark

Re: Review Request 36972: One python_library per exported setup.py project

2015-08-03 Thread Bill Farner

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

Ship it!


Ship It!

- Bill Farner


On Aug. 1, 2015, 10:38 p.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36972/
 ---
 
 (Updated Aug. 1, 2015, 10:38 p.m.)
 
 
 Review request for Aurora, Bill Farner and Brian Wickman.
 
 
 Bugs: AURORA-1381
 https://issues.apache.org/jira/browse/AURORA-1381
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is a mostly red code diff and makes the pants build work similar to how 
 it already works in an IDE environment while minimizing duplicated 
 information. This change also removes the confusing versions of `thermos` and 
 `thermos_observer` in favor of new ones. Because of the way covering 
 dependencies were required it was easier to do this refactor than more 
 tactically create a working `setup_py` target for `apache.aurora.tools` 
 without cycles and without duplicated files.
 
 * Remove the `apache.thermos` package.
 * Rename the `apache.gen.aurora` package to `apache.aurora.thrift`.
 * Rename the `apache.gen.thermos` package to `apache.thermos.thrift`.
 * Introduce a new `apache.aurora.tools` package with the `thermos` and 
 `thermos_observer` binaries.
 * Create apache.thermos.runner package, rename `thermos/bin` to 
 `thermos/runner`.
 * Remove all `*-packaged` and virtual dependency trees, as well as the phrase 
 covering dependencies.
 * Use `_`-prefix naming convention for private target names.
 * Replace manual list of targets in `make-python-sdists` with 
 automatically-generated one (using new convention).
 * Introduce a new `apache.aurora.kerberos` package with the `kaurora` and 
 `kaurora_admin` binaries.
 * Remove all `BUILD` files in `src/main` that don't contain an exported 
 `setup.py` library (except one mentioned in TODO).
 * Use dictionary syntax in `with_binaries`.
 * Remove unused/unreachable binaries (most `bin/` dirs under `thermos/`).
 * Create blank `__init__.py` files in directories that pants warns aren't 
 packages.
 * Added `thermos` command to vagrant image.
 
 
 Diffs
 -
 
   NEWS 0a8500c524a92eaf51384125687128d2fbbb0b53 
   api/src/main/thrift/org/apache/aurora/gen/BUILD 
 d196fefc2c5e5ee32d0cf9c901cffe7d247379d1 
   api/src/main/thrift/org/apache/thermos/BUILD 
 d0d789a6ee3971e3070f9397d53929563a77f7ea 
   build-support/packaging/debian/rules 
 17e00c02a3cb3294d5107516d795a73587ca4f70 
   build-support/packaging/rpm/aurora.spec 
 7cf8de6f7b99788ca461a90fc4aefba7dccd7b63 
   build-support/python/make-pycharm-virtualenv 
 05a16d0d421982bcfb2e649be7b83a17d813efb1 
   build-support/release/make-python-sdists 
 9608f68e16243da01434ce2fc7d61bb7c7efd712 
   docs/README.md 9893763cb75faf1aeb66ed905e9f696d4b532d16 
   docs/build-system.md PRE-CREATION 
   examples/vagrant/aurorabuild.sh fbaa6ae9ef7ff2910af8c9c0d6b8ef90ea3e152a 
   src/main/python/apache/aurora/admin/BUILD 
 22bf3f9943ea11258ba681bdb80feb00206bb926 
   src/main/python/apache/aurora/admin/aurora_admin.py 
 1c39717b656465bb1966073340f9fe80be01a085 
   src/main/python/apache/aurora/client/BUILD 
 e73cd52289209bb9658b16bb77dc0b0a9c811a1a 
   src/main/python/apache/aurora/client/api/BUILD 
 a030a67b78fc4bc4682d0df169e27efc6810dce3 
   src/main/python/apache/aurora/client/cli/BUILD 
 973d05971bd940c7e38c48ce6bfbf5c8e1654c5a 
   src/main/python/apache/aurora/client/cli/client.py 
 c0974f3bef59f8f7c2320398d367cb4dd9048d2b 
   src/main/python/apache/aurora/client/hooks/BUILD 
 ddf813b5d2e7d63507a8e08745ebf6cb3dbac8e1 
   src/main/python/apache/aurora/common/BUILD 
 abc122b0775bb17b1df67bdb946c472010219b9b 
   src/main/python/apache/aurora/common/auth/BUILD 
 0abac94eeeb71e6af43ed191ea690e5f96a6be23 
   src/main/python/apache/aurora/common/auth/kerberos.py 
 2d782b63b611a9d2604ef0ab1116d3e68fb86dc7 
   src/main/python/apache/aurora/config/BUILD 
 0a3a93fa6bb785903f71bc067aecc79c0e45a0b5 
   src/main/python/apache/aurora/config/schema/BUILD 
 171f42a24ec7ddc2846eb68b6a60e7d8dec4383b 
   src/main/python/apache/aurora/executor/BUILD 
 891cbe63d23ea59a68ca99f62d29be5713c9b91d 
   src/main/python/apache/aurora/executor/bin/BUILD 
 b23429ab9d1d3db1af2bb1b77f5bce30de19f34b 
   src/main/python/apache/aurora/executor/common/BUILD 
 3d94792b9e3c2d0f7bb7ce42616f08947f5119ee 
   src/main/python/apache/aurora/kerberos/BUILD PRE-CREATION 
   src/main/python/apache/aurora/tools/BUILD 
 9dfeb6c7e5a3796c76250aa9ff6fd4230d00cfb0 
   src/main/python/apache/thermos/BUILD 
 8221aa0bd4efe5f519550cba716d6a564ba9ae44 
   src/main/python/apache/thermos/bin/BUILD 
 4f0cb9b67b1c3c52ec3278ce92ff0d765257796c 
   src/main/python/apache/thermos/bin/__init__.py