Re: Review Request 32371: Refine types used in QuotaManager, share more functions/predicates.

2015-03-24 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 21, 2015, 7:42 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32371/
 ---
 
 (Updated March 21, 2015, 7:42 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 I found myself in here while doing some exploratory changes to `TaskStore`.  
 I started by using `IAssignedTask` and `ITaskConfig` where possible, rather 
 than `IScheduledTask`, and that snowballed into a refactor to extract common 
 functions and predicates.
 
 Feel free to push back if you feel this reduces readability or seems like 
 code shuffling with little gain.  One upside to this outcome is the imminent 
 post-JDK8 lambda refactor will cause this diff to be a net reduction in code.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 
 39e930c4bfe716765908c6d78b58c831b6fb341b 
   src/main/java/org/apache/aurora/scheduler/updater/UpdateFactory.java 
 b53086169aa53d27a39a01cadf8d3c4a8ecb68de 
   src/main/java/org/apache/aurora/scheduler/updater/Updates.java 
 776278cb64c7ce0419a692143e458801e3b1c37f 
 
 Diff: https://reviews.apache.org/r/32371/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32352: Making preemptor asynchronous. Part 3(final) - background service.

2015-03-24 Thread Maxim Khutornenko
, visit:
https://reviews.apache.org/r/32352/#review77609
---


On March 21, 2015, 2:19 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32352/
 ---
 
 (Updated March 21, 2015, 2:19 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Summary of changes:
 - The PreemptorImpl now only hosts slot validation and task preemption logic 
 and requires a write transaction.
 - PendingTaskProcessor is called every minute to pull all available PENDING 
 tasks and search for preemption slots.
 - TaskScheduler has no connection to slot search anymore. It now completely 
 relies on periodic PreemptionService to find available slots.
 - preemption_delay is reduced from 10 to 3 minutes.
 
 Benchmark refactoring will be addressed separately.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 5309e8140fff411da30ee87c1b3b1a55d6fdaeeb 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 1b9d741dba7b9c2663ff119cd44adc8403c0d257 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
  4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 84791a272f245c729706af95d70c7f1631bfe99c 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 18a2e6032ba86ff7efab4d42a4d83798a1d06b06 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  782e751f5b05391ebeee4d947570cc174dddece2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
   src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java 
 da7b662c3ca4040221805cba81e5ac7b64fb3df4 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 29fe156da19f3c08af00a951bb3baccf2b97a6cb 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 f5c2128e90eb5c849d68431225661d1cfa7da0cc 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  0e2e958a053e5cee280b947f7349c076e2addb45 
 
 Diff: https://reviews.apache.org/r/32352/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 Manual testing in vagrant.
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32352: Making preemptor asynchronous. Part 3(final) - background service.

2015-03-23 Thread Maxim Khutornenko


 On March 22, 2015, 10:04 a.m., Stephan Erb wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java,
   line 107
  https://reviews.apache.org/r/32352/diff/1/?file=902121#file902121line107
 
  Slotes computed here might have overlapping victims. A simple way to 
  mitigate this problem could be to properly randomize the slave traversal 
  order in `findPreemptionSlotFor`

Thanks for bringing this up! The existing algorithm is optimized to work for a 
single pending task in a sequence with victim preemption. By splitting apart 
slot search and actual preemption we definitely lose some efficiency. 

I am afraid randomizing slave traversal will not address the problem completely 
and will bring some unpredictability in execution order. We need to optimize 
the N(pendingTasks) x M(slaves) problem in a more structured fashion, possibly 
reversing the traversal from tasks-slaves to slaves-tasks to further improve 
efficiency (as slave count is expected to be  pending task count under normal 
conditions). I have already left a TODO to optimize slot search for multiple 
pending tasks. Will file a ticket to capture all these points.


- Maxim


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


On March 21, 2015, 2:19 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32352/
 ---
 
 (Updated March 21, 2015, 2:19 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Summary of changes:
 - The PreemptorImpl now only hosts slot validation and task preemption logic 
 and requires a write transaction.
 - PendingTaskProcessor is called every minute to pull all available PENDING 
 tasks and search for preemption slots.
 - TaskScheduler has no connection to slot search anymore. It now completely 
 relies on periodic PreemptionService to find available slots.
 - preemption_delay is reduced from 10 to 3 minutes.
 
 Benchmark refactoring will be addressed separately.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 5309e8140fff411da30ee87c1b3b1a55d6fdaeeb 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 1b9d741dba7b9c2663ff119cd44adc8403c0d257 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
  4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 84791a272f245c729706af95d70c7f1631bfe99c 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 18a2e6032ba86ff7efab4d42a4d83798a1d06b06 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  782e751f5b05391ebeee4d947570cc174dddece2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
   src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java 
 da7b662c3ca4040221805cba81e5ac7b64fb3df4 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 29fe156da19f3c08af00a951bb3baccf2b97a6cb 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 f5c2128e90eb5c849d68431225661d1cfa7da0cc 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  0e2e958a053e5cee280b947f7349c076e2addb45 
 
 Diff: https://reviews.apache.org/r/32352/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 Manual testing in vagrant.
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32369: Simplify port name association.

2015-03-23 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 21, 2015, 5:49 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32369/
 ---
 
 (Updated March 21, 2015, 5:49 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 I realized that `StateManagerImpl` had an unnecessarily-complex function to 
 associate assigned ports with port names, with error checking along the way.  
 I have simplified this function and relocated it closer to where ports are 
 assigned.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
 93fc05ef8b4cad187b1d36d05d2b4bb509ed60e7 
   src/main/java/org/apache/aurora/scheduler/state/StateManager.java 
 50ff4ec915352ead8c03f494f38522bcdeca3617 
   src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java 
 8721466b935da22ac9dd491b06f5e7ddc7f913e1 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 c44ff339b94cac20f4fb7e69a8e403fd63c132ca 
   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 
 17b170261b87506078d5463a5ed55fbc1cd8 
   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java 
 06a19038f99f88d28c5548055bd82b0aebb461ac 
 
 Diff: https://reviews.apache.org/r/32369/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32359: Adding a configurable delay into writing a backup file.

2015-03-23 Thread Maxim Khutornenko


 On March 23, 2015, 6:22 p.m., Aurora ReviewBot wrote:
  Master (a3a35e9) is red with this patch.
./build-support/jenkins/build.sh
  
   src.test.python.apache.aurora.client.factory   
   .   SUCCESS
   src.test.python.apache.aurora.client.hooks.hooked_api  
   .   SUCCESS
   
  src.test.python.apache.aurora.client.hooks.non_hooked_api   
  .   SUCCESS
   
  src.test.python.apache.aurora.common.test_aurora_job_key
  .   SUCCESS
   src.test.python.apache.aurora.common.test_cluster  
   .   SUCCESS
   
  src.test.python.apache.aurora.common.test_cluster_option
  .   SUCCESS
   src.test.python.apache.aurora.common.test_clusters 
   .   SUCCESS
   
  src.test.python.apache.aurora.common.test_http_signaler 
  .   SUCCESS
   src.test.python.apache.aurora.common.test_pex_version  
   .   SUCCESS
   src.test.python.apache.aurora.common.test_shellify 
   .   SUCCESS
   src.test.python.apache.aurora.common.test_transport
   .   SUCCESS
   src.test.python.apache.aurora.config.test_base 
   .   SUCCESS
   
  src.test.python.apache.aurora.config.test_constraint_parsing
  .   SUCCESS
   src.test.python.apache.aurora.config.test_loader   
   .   SUCCESS
   src.test.python.apache.aurora.config.test_thrift   
   .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.announcer 
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.directory_sandbox 
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.executor_detector 
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.executor_timeout  
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.health_checker
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.kill_manager  
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.path_detector 
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.status_checker
  .   SUCCESS
   
  src.test.python.apache.aurora.executor.common.task_info 
  .   SUCCESS
   src.test.python.apache.aurora.executor.executor_base   
   .   SUCCESS
   src.test.python.apache.aurora.executor.executor_vars   
   .   SUCCESS
   src.test.python.apache.aurora.executor.gc_executor 
   .   FAILURE
   src.test.python.apache.aurora.executor.status_manager  
   .   SUCCESS
   
  src.test.python.apache.aurora.executor.thermos_task_runner  
  .   SUCCESS
   src.test.python.apache.thermos.cli.commands.commands   
   .   SUCCESS
   src.test.python.apache.thermos.cli.common  
   .   SUCCESS
   src.test.python.apache.thermos.cli.main
   .   SUCCESS
   src.test.python.apache.thermos.common.test_pathspec
   .   SUCCESS
   
  src.test.python.apache.thermos.core.test_runner_integration 
  .   SUCCESS
   src.test.python.apache.thermos.monitoring.test_disk
   .   SUCCESS
   
  FAILURE
  
  
 FAILURE
  
  
  I will refresh this build result if you post a review containing 
  @ReviewBot retry

@ReviewBot retry


- Maxim


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


On March 23, 2015, 6:10 p.m., Maxim Khutornenko wrote

Re: Review Request 32359: Adding a configurable delay into writing a backup file.

2015-03-23 Thread Maxim Khutornenko

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

(Updated March 23, 2015, 6:10 p.m.)


Review request for Aurora and Bill Farner.


Changes
---

Stephan's comments.


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


Repository: aurora


Description
---

Adding a configurable delay into writing a backup file.


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java 
a6b187d888726b921733a36fcaecdab97bdef094 
  src/main/java/org/apache/aurora/scheduler/storage/backup/StorageBackup.java 
569648aea2ccdb57663d16b7c837fd2677694419 
  src/test/java/org/apache/aurora/scheduler/storage/backup/RecoveryTest.java 
5853c037d53e707e5df434fc661cd285ed9ecfc4 
  
src/test/java/org/apache/aurora/scheduler/storage/backup/StorageBackupTest.java 
ebe551739fb6b7132ce666ad9b3c5a86e90a5363 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32359: Adding a configurable delay into writing a backup file.

2015-03-23 Thread Maxim Khutornenko


 On March 21, 2015, 12:14 p.m., Stephan Erb wrote:
  src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java, 
  line 66
  https://reviews.apache.org/r/32359/diff/1/?file=902147#file902147line66
 
  The description should state the intent of the option more explicitly. 
  Even reading the code did  not help me much.
  
  Only the description in the associated Jira ticket helps to undestand 
  why this option is important and might need to be tuned.

Thanks, added more details. Let me know if you still think it's not clear or 
have another alternative.


- Maxim


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


On March 21, 2015, 2:22 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32359/
 ---
 
 (Updated March 21, 2015, 2:22 a.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Bugs: AURORA-1211
 https://issues.apache.org/jira/browse/AURORA-1211
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a configurable delay into writing a backup file.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java 
 a6b187d888726b921733a36fcaecdab97bdef094 
   src/main/java/org/apache/aurora/scheduler/storage/backup/StorageBackup.java 
 569648aea2ccdb57663d16b7c837fd2677694419 
   src/test/java/org/apache/aurora/scheduler/storage/backup/RecoveryTest.java 
 5853c037d53e707e5df434fc661cd285ed9ecfc4 
   
 src/test/java/org/apache/aurora/scheduler/storage/backup/StorageBackupTest.java
  ebe551739fb6b7132ce666ad9b3c5a86e90a5363 
 
 Diff: https://reviews.apache.org/r/32359/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Review Request 32353: Renaming PreemptionSlotFinder.

2015-03-20 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

IDE-driven renaming. Prerequisite for the final preemptor refactoring step.


Diffs
-

  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
 4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
18a2e6032ba86ff7efab4d42a4d83798a1d06b06 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
 80bd13a192bda64759b5a93749ec47ddfeae504a 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 b80e558f18b817814e4768b13ff94aa816d28543 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Review Request 32359: Adding a configurable delay into writing a backup file.

2015-03-20 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


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


Repository: aurora


Description
---

Adding a configurable delay into writing a backup file.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java 
a6b187d888726b921733a36fcaecdab97bdef094 
  src/main/java/org/apache/aurora/scheduler/storage/backup/StorageBackup.java 
569648aea2ccdb57663d16b7c837fd2677694419 
  src/test/java/org/apache/aurora/scheduler/storage/backup/RecoveryTest.java 
5853c037d53e707e5df434fc661cd285ed9ecfc4 
  
src/test/java/org/apache/aurora/scheduler/storage/backup/StorageBackupTest.java 
ebe551739fb6b7132ce666ad9b3c5a86e90a5363 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Review Request 32352: Making preemptor asynchronous. Part 3(final) - background service.

2015-03-20 Thread Maxim Khutornenko

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

Review request for Aurora, Bill Farner and Zameer Manji.


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


Repository: aurora


Description
---

Summary of changes:
- The PreemptorImpl now only hosts slot validation and task preemption logic 
and requires a write transaction.
- PendingTaskProcessor is called every minute to pull all available PENDING 
tasks and search for preemption slots.
- TaskScheduler has no connection to slot search anymore. It now completely 
relies on periodic PreemptionService to find available slots.
- preemption_delay is reduced from 10 to 3 minutes.

Benchmark refactoring will be addressed separately.


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
5309e8140fff411da30ee87c1b3b1a55d6fdaeeb 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
1b9d741dba7b9c2663ff119cd44adc8403c0d257 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
 4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
84791a272f245c729706af95d70c7f1631bfe99c 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
18a2e6032ba86ff7efab4d42a4d83798a1d06b06 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
782e751f5b05391ebeee4d947570cc174dddece2 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
  src/main/java/org/apache/aurora/scheduler/filter/AttributeAggregate.java 
da7b662c3ca4040221805cba81e5ac7b64fb3df4 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
29fe156da19f3c08af00a951bb3baccf2b97a6cb 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
f5c2128e90eb5c849d68431225661d1cfa7da0cc 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java
 PRE-CREATION 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 0e2e958a053e5cee280b947f7349c076e2addb45 

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


Testing
---

./gradlew -Pq build
Manual testing in vagrant.


Thanks,

Maxim Khutornenko



Re: Review Request 32220: Making preemptor asynchronous. Part 2 - async handling.

2015-03-19 Thread Maxim Khutornenko

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

(Updated March 19, 2015, 11:39 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Bill's comments.


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


Repository: aurora


Description
---

This diff makes preemption asynchronous wrt the scheduling loop. New flow works 
as follows:
- TaskScheduler is unable to schedule a task and calls into 
PreemptorImpl.attemptPreemptionFor() to acquire a reservation.
- PreemptorImpl keeps track of found preemption slots in PreemptionSlotCache, 
fires an async slot search request and replies back with empty result.
- A search is finished and a slot (if found) is added into internal slot cache.
- TaskScheduler calls into attemptPreemptionFor(), finds a preemption slot, 
validates a slot is still valid and preempts tasks. A reservation for a slave 
is created.

This is still an intermediate milestone on the way to a fully independent 
background preemptor.

Benchmark refactoring will be addressed in a separate diff.


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
7d2cb46aa86dd4c3c6d53848725eed1542307ebd 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 e748b42eaa8f54e0cf1a0a883da4aceff3d7a3b8 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
1808b71546423dfe80ccb1902e8cebd545674a27 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
801a6d7f3cb0e9987e2029fd8c4c89015e8d3b65 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
dbfebf99bc6028faf433a69db4308a239ff61290 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
 PRE-CREATION 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 cfbc1a039262d92481ded2733d50ac51293a5b91 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 e329358f70028f52a807cd987378cbc002af36a9 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32220: Making preemptor asynchronous. Part 2 - async handling.

2015-03-19 Thread Maxim Khutornenko


 On March 19, 2015, 9:23 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java,
   line 45
  https://reviews.apache.org/r/32220/diff/2/?file=899548#file899548line45
 
  This should refer to the parameter, not the guice binding annotation.

Done.


 On March 19, 2015, 9:23 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java,
   line 87
  https://reviews.apache.org/r/32220/diff/2/?file=899548#file899548line87
 
  `synchronized` should be unnecessary, `Cache` is expected to be thread 
  safe, and we're not doing multiple operations per method here.

Yeah, I used synchronized when I was not sure about the final functionality but 
now it's clearly redundant. dropped.


 On March 19, 2015, 9:23 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java,
   line 124
  https://reviews.apache.org/r/32220/diff/2/?file=899549#file899549line124
 
  Validates that a previously-found

Done.


 On March 19, 2015, 9:23 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java,
   line 84
  https://reviews.apache.org/r/32220/diff/2/?file=899552#file899552line84
 
  Given that you probably want a singleton PreemptionSlotCache, don't 
  forget to bind that as such here.

Good idea. Done.


- Maxim


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


On March 19, 2015, 12:29 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32220/
 ---
 
 (Updated March 19, 2015, 12:29 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This diff makes preemption asynchronous wrt the scheduling loop. New flow 
 works as follows:
 - TaskScheduler is unable to schedule a task and calls into 
 PreemptorImpl.attemptPreemptionFor() to acquire a reservation.
 - PreemptorImpl keeps track of found preemption slots in PreemptionSlotCache, 
 fires an async slot search request and replies back with empty result.
 - A search is finished and a slot (if found) is added into internal slot 
 cache.
 - TaskScheduler calls into attemptPreemptionFor(), finds a preemption slot, 
 validates a slot is still valid and preempts tasks. A reservation for a slave 
 is created.
 
 This is still an intermediate milestone on the way to a fully independent 
 background preemptor.
 
 Benchmark refactoring will be addressed in a separate diff.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 7d2cb46aa86dd4c3c6d53848725eed1542307ebd 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  e748b42eaa8f54e0cf1a0a883da4aceff3d7a3b8 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 1808b71546423dfe80ccb1902e8cebd545674a27 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  801a6d7f3cb0e9987e2029fd8c4c89015e8d3b65 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  dbfebf99bc6028faf433a69db4308a239ff61290 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  cfbc1a039262d92481ded2733d50ac51293a5b91 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  e329358f70028f52a807cd987378cbc002af36a9 
 
 Diff: https://reviews.apache.org/r/32220/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32220: Making preemptor asynchronous. Part 2 - async handling.

2015-03-19 Thread Maxim Khutornenko


 On March 19, 2015, 9:41 p.m., Zameer Manji wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java,
   line 254
  https://reviews.apache.org/r/32220/diff/2/?file=899549#file899549line254
 
  This is a bit confusing to see .getSlaveId and then construct an 
  instance of SlaveID. Perhaps preemptionSlot should return a SlaveID 
  instance?

That's what I actually started with. It quickly resulted in more places like 
this one (both in source and test code), so I reverted to String to have this 
ugliness contained in a single place.


- Maxim


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


On March 19, 2015, 12:29 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32220/
 ---
 
 (Updated March 19, 2015, 12:29 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This diff makes preemption asynchronous wrt the scheduling loop. New flow 
 works as follows:
 - TaskScheduler is unable to schedule a task and calls into 
 PreemptorImpl.attemptPreemptionFor() to acquire a reservation.
 - PreemptorImpl keeps track of found preemption slots in PreemptionSlotCache, 
 fires an async slot search request and replies back with empty result.
 - A search is finished and a slot (if found) is added into internal slot 
 cache.
 - TaskScheduler calls into attemptPreemptionFor(), finds a preemption slot, 
 validates a slot is still valid and preempts tasks. A reservation for a slave 
 is created.
 
 This is still an intermediate milestone on the way to a fully independent 
 background preemptor.
 
 Benchmark refactoring will be addressed in a separate diff.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 7d2cb46aa86dd4c3c6d53848725eed1542307ebd 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  e748b42eaa8f54e0cf1a0a883da4aceff3d7a3b8 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 1808b71546423dfe80ccb1902e8cebd545674a27 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  801a6d7f3cb0e9987e2029fd8c4c89015e8d3b65 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  dbfebf99bc6028faf433a69db4308a239ff61290 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  cfbc1a039262d92481ded2733d50ac51293a5b91 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  e329358f70028f52a807cd987378cbc002af36a9 
 
 Diff: https://reviews.apache.org/r/32220/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32276: Fix error listing active updates.

2015-03-19 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 20, 2015, 1:46 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32276/
 ---
 
 (Updated March 20, 2015, 1:46 a.m.)
 
 
 Review request for Aurora and Kevin Sweeney.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Fixes this error:
 ```
 $ aurora update list devcluster/vagrant/test/http_example --status active
 Traceback (most recent call last):
   File /usr/local/bin/aurora/.bootstrap/_pex/pex.py, line 272, in execute
 self.execute_entry(entry_point, args)
   File /usr/local/bin/aurora/.bootstrap/_pex/pex.py, line 320, in 
 execute_entry
 runner(entry_point)
   File /usr/local/bin/aurora/.bootstrap/_pex/pex.py, line 343, in 
 execute_pkg_resources
 runner()
   File /usr/local/bin/aurora/apache/aurora/client/cli/client.py, line 95, 
 in proxy_main
   File /usr/local/bin/aurora/apache/aurora/client/cli/__init__.py, line 
 329, in execute
   File /usr/local/bin/aurora/apache/aurora/client/cli/__init__.py, line 
 306, in _execute
   File /usr/local/bin/aurora/apache/aurora/client/cli/__init__.py, line 
 382, in execute
   File /usr/local/bin/aurora/apache/aurora/client/cli/update.py, line 318, 
 in execute
 TypeError: unhashable type: 'set'
 ```
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/cli/update.py 
 2168e99a315dd2916086100589c8345cd3a2c4ff 
 
 Diff: https://reviews.apache.org/r/32276/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32225: Adding preemptor jmh benchmark

2015-03-19 Thread Maxim Khutornenko

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

(Updated March 20, 2015, 12:25 a.m.)


Review request for Aurora and Bill Farner.


Changes
---

Rebased.


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


Repository: aurora


Description (updated)
---

Adding a preemptor slot search perf benchmark. Below are the results for 
synchronous (Before) and asynchronous (After) preemptor. 

Before:
```
Benchmark 
Mode  Cnt ScoreError  Units
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  100781243.004 ±   9308.450  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   1205278.826 ±  19800.452  ns/op
SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark   
avgt  100  77048458.974 ± 918593.702  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100769919.326 ±  18963.264  ns/op
```
After:
```
Benchmark 
Mode  CntScore   Error  Units
SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
avgt  100 3062.264 ±   323.854  ns/op
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  10022135.031 ±   703.886  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   283028.184 ±  1954.987  ns/op
SchedulingBenchmarks.PreemptorSlotSearchBenchmark.runBenchmark
avgt  100  3338470.414 ± 31189.009  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  10022177.423 ±   589.332  ns/op
```

Result analysis is here: https://reviews.apache.org/r/31739/


Diffs (updated)
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
ad49effdaf700bb9d5715aa5bdd1a5d0b276f83f 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
f817ccd23644de5aa03fe42be3a5bc2b63683a9d 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 c9d10e4cec44045806ec2d75d8c158dc40d7de98 

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


Testing
---

./gradlew jmh


Thanks,

Maxim Khutornenko



Re: Review Request 32171: Change update list subcommand to accept a hierarchy.

2015-03-19 Thread Maxim Khutornenko

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

Ship it!



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/32171/#comment124993

How about a special blocked group to display only the updates blocked due 
to lack of heartbeat? Could be quite useful for monitoring of blocked updates.



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/32171/#comment124992

Move to previous line?



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/32171/#comment124997

Recommend adding a phrase explaining the behavior in case multiple 
groups/statuses are specified.



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/32171/#comment124999

While it's converted to set by thrift anyway, I'd still recommend using a 
set() here to explicitly assert no duplicates are ever accepted.


- Maxim Khutornenko


On March 19, 2015, 9:09 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32171/
 ---
 
 (Updated March 19, 2015, 9:09 p.m.)
 
 
 Review request for Aurora, David McLaughlin and Zameer Manji.
 
 
 Bugs: AURORA-1168
 https://issues.apache.org/jira/browse/AURORA-1168
 
 
 Repository: aurora
 
 
 Description
 ---
 
 NOTE: I also am proposing with this change that the output format of `aurora 
 update list` be line-oriented and more concise (see test changes for 
 examples).  The idea is to follow up ~immediately with AURORA-1206.  The 
 proposal is for this command to let you retrieve update identifiers, and 
 `update status` (whose name may change) will allow you to drill into updates.
 
 I'm open to input on this.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/cli/update.py 
 f025d46d50592156e2455313890e981722ab63a5 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 cb66439a778349fc5add4985a7395655c9e1328a 
 
 Diff: https://reviews.apache.org/r/32171/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32220: Making preemptor asynchronous. Part 2 - async handling.

2015-03-18 Thread Maxim Khutornenko

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

(Updated March 19, 2015, 12:29 a.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Dropping PreemptionSlotCache visibility.


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


Repository: aurora


Description
---

This diff makes preemption asynchronous wrt the scheduling loop. New flow works 
as follows:
- TaskScheduler is unable to schedule a task and calls into 
PreemptorImpl.attemptPreemptionFor() to acquire a reservation.
- PreemptorImpl keeps track of found preemption slots in PreemptionSlotCache, 
fires an async slot search request and replies back with empty result.
- A search is finished and a slot (if found) is added into internal slot cache.
- TaskScheduler calls into attemptPreemptionFor(), finds a preemption slot, 
validates a slot is still valid and preempts tasks. A reservation for a slave 
is created.

This is still an intermediate milestone on the way to a fully independent 
background preemptor.

Benchmark refactoring will be addressed in a separate diff.


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
7d2cb46aa86dd4c3c6d53848725eed1542307ebd 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 e748b42eaa8f54e0cf1a0a883da4aceff3d7a3b8 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
1808b71546423dfe80ccb1902e8cebd545674a27 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
801a6d7f3cb0e9987e2029fd8c4c89015e8d3b65 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
dbfebf99bc6028faf433a69db4308a239ff61290 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
 PRE-CREATION 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 cfbc1a039262d92481ded2733d50ac51293a5b91 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 e329358f70028f52a807cd987378cbc002af36a9 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Review Request 32225: Adding preemptor jmh benchmark

2015-03-18 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

Adding a preemptor slot search perf benchmark.

Will not apply cleanly, diffed against https://reviews.apache.org/r/32220/


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
ad49effdaf700bb9d5715aa5bdd1a5d0b276f83f 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
dbfebf99bc6028faf433a69db4308a239ff61290 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 c9d10e4cec44045806ec2d75d8c158dc40d7de98 

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


Testing
---

./gradlew jmh


Thanks,

Maxim Khutornenko



Re: Review Request 32208: Reduce loglevel for insufficient GC resources to fine

2015-03-18 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 18, 2015, 6:28 p.m., Stephan Erb wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32208/
 ---
 
 (Updated March 18, 2015, 6:28 p.m.)
 
 
 Review request for Aurora.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Reduce loglevel for insufficient GC resources to fine
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java 
 31aa2bbaab3d97875493ad75c4d2c7c82ac7fa58 
 
 Diff: https://reviews.apache.org/r/32208/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Stephan Erb
 




Review Request 32164: Moving pending task search into PreemptorImpl

2015-03-17 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

Addressing a TODO left after refactoring in step 1.


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
9b7a3f16ad489c296d5e3513a74264a0620942a6 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 e5cc48625cf019f1b6bb85749711528bf5dee4cd 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
e11db4e0e04fe3ca089defc0304333cbb8bf7624 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
93cab3414e3cd76e02b34c439413e625037bf90c 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 f27ca62397e60b114f0c570cdfe9323a6c825645 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 9a6e94dc941025fd272495de0c46f77b793e867c 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32141: Introduce AnnotatedAuroraAdmin superclass for annotations.

2015-03-17 Thread Maxim Khutornenko

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

Ship it!



src/main/java/org/apache/aurora/scheduler/thrift/aop/AnnotatedAuroraAdmin.java
https://reviews.apache.org/r/32141/#comment12

You probably want @Nullable here as well.



src/main/java/org/apache/aurora/scheduler/thrift/aop/AnnotatedAuroraAdmin.java
https://reviews.apache.org/r/32141/#comment124445

same here


- Maxim Khutornenko


On March 17, 2015, 6:55 p.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32141/
 ---
 
 (Updated March 17, 2015, 6:55 p.m.)
 
 
 Review request for Aurora, Joshua Cohen and Bill Farner.
 
 
 Bugs: AURORA-1187
 https://issues.apache.org/jira/browse/AURORA-1187
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Add an AnnotatedAuroraAdmin subclass for AuroraAdmin.Iface and change code to 
 inherit from it. This gives us a place to put annotations like the 
 AuthorizingParam one introduced in this review without needing to copy-paste 
 them when we override a new method. A future diff will use these annotations 
 to determine which permission a method call needs by inspecting the annotated 
 parameter. I created a new interface to enable DRY - otherwise I'd need to 
 annotate both ForwardingThrift and SchedulerThriftInterface and keep them in 
 sync.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/http/api/security/AuthorizingParam.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c60d1e78e0f5c474ff0dcf6393e0c305d865bded 
   src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java 
 b1d633602f3fb021a026a087b91d41580798eeaf 
   
 src/main/java/org/apache/aurora/scheduler/thrift/aop/AnnotatedAuroraAdmin.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityIT.java
  f0e40b646092e96955fddc46c3a1e62a8237b00f 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/AopModuleTest.java 
 df6b53a524b005cd5fabb099fd0c08d83e3b287d 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/FeatureToggleInterceptorTest.java
  ee98f66de7f671018fa0a0b4894f114c7a283eda 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 3900c2228038668576cdbb37e87127246a33317c 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/MockDecoratedThrift.java 
 7b1bf2ef8b413d2c1a08b41722a04af091305304 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/ServerInfoInterceptorTest.java
  7e20aaa6836bd205261afe5b1244fb6af8a56356 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/ThriftStatsExporterInterceptorTest.java
  aae5cd7709abe3896c2ae06c218a0c90ca11c576 
 
 Diff: https://reviews.apache.org/r/32141/diff/
 
 
 Testing
 ---
 
 ./gradlew build
 
 
 Thanks,
 
 Kevin Sweeney
 




Re: Review Request 32181: Only warn about insufficient GC resources when actually needed

2015-03-17 Thread Maxim Khutornenko


 On March 17, 2015, 11:12 p.m., Maxim Khutornenko wrote:
  src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java, 
  line 208
  https://reviews.apache.org/r/32181/diff/1/?file=898407#file898407line208
 
  This reordering will result in pulsing the hostname even when an offer 
  is insufficient for GC thus leading to missed collections. I'd much rather 
  suppress the warning (e.g. change it to Level.FINE) than risk a missed 
  collection.
 
 Stephan Erb wrote:
 What about extracting the pulsing from `isTimeToCollect` and performing 
 it directly in `willUse`?

Given this feature is going away soon, I'd rather not invest any time in 
improving it unless absolutely necessary. Are there any other concerns besides 
warnings in scheduler log? If not, perhaps lowering the logging level is the 
way to go.


- Maxim


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


On March 17, 2015, 10:50 p.m., Stephan Erb wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32181/
 ---
 
 (Updated March 17, 2015, 10:50 p.m.)
 
 
 Review request for Aurora.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Only warn about insufficient GC resources when actually needed
 
 Whenever a garbage collection run finishes, the launcher is offered the same 
 resources again. Probably due to rounding errors, these are not considered 
 sufficient for another run. By changing the order of time check and resource 
 check we prevent unnecessary warnings about these small offers.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java 
 31aa2bbaab3d97875493ad75c4d2c7c82ac7fa58 
   src/test/java/org/apache/aurora/scheduler/async/GcExecutorLauncherTest.java 
 422d5a9a42310979752eb7282658316c2b772419 
 
 Diff: https://reviews.apache.org/r/32181/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Stephan Erb
 




Re: Review Request 32171: Change update list subcommand to accept a hierarchy.

2015-03-17 Thread Maxim Khutornenko


 On March 18, 2015, 12:04 a.m., Kevin Sweeney wrote:
  src/test/python/apache/aurora/client/cli/test_supdate.py, lines 404-406
  https://reviews.apache.org/r/32171/diff/3/?file=898440#file898440line404
 
  How would you feel about including all of the currently available data 
  with a header row?
  
  Also instead of raw epoch time how about ISO 8601 - using the spaceless 
  'T' form (`2015-03-15T13:27:36+00:00`)

 How would you feel about including all of the currently available data with a 
 header row?

-1 on shoving all available data into a single header row. I'd rather see a 
clean output here and rely on `aurora update info` for drill downs.


- Maxim


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


On March 17, 2015, 11:54 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32171/
 ---
 
 (Updated March 17, 2015, 11:54 p.m.)
 
 
 Review request for Aurora, David McLaughlin and Zameer Manji.
 
 
 Bugs: AURORA-1168
 https://issues.apache.org/jira/browse/AURORA-1168
 
 
 Repository: aurora
 
 
 Description
 ---
 
 NOTE: I also am proposing with this change that the output format of `aurora 
 update list` be line-oriented and more concise (see test changes for 
 examples).  The idea is to follow up ~immediately with AURORA-1206.  The 
 proposal is for this command to let you retrieve update identifiers, and 
 `update status` (whose name may change) will allow you to drill into updates.
 
 I'm open to input on this.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/cli/update.py 
 f025d46d50592156e2455313890e981722ab63a5 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 cb66439a778349fc5add4985a7395655c9e1328a 
 
 Diff: https://reviews.apache.org/r/32171/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32164: Moving pending task search into PreemptorImpl

2015-03-17 Thread Maxim Khutornenko


 On March 17, 2015, 6:05 p.m., Bill Farner wrote:
  I actually meant this should be outside the preemptor altogether.  The 
  preemptor is being called, and then internally deciding the caller should 
  have not called in the first place.  I claim this is odd behavior.
  
  I think it would make sense, instead, if the caller opened a transaction, 
  and continued that transaction into the preemptor once it has deemed the 
  task is `PENDING` and has been in that state long enough to warrant a 
  preemption search.

After the final refactoring step is implemented, the preemptor will be guided 
by a scheduled background worker most likely residing within the PreemptorImpl 
itself. So, it will be the only caller and consumer of pending tasks. I don't 
think it's worth purging pending task search out at this stage just to return 
it back shortly after.


- Maxim


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


On March 17, 2015, 5:19 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32164/
 ---
 
 (Updated March 17, 2015, 5:19 p.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Addressing a TODO left after refactoring in step 1.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 9b7a3f16ad489c296d5e3513a74264a0620942a6 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  e5cc48625cf019f1b6bb85749711528bf5dee4cd 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 e11db4e0e04fe3ca089defc0304333cbb8bf7624 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  93cab3414e3cd76e02b34c439413e625037bf90c 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  f27ca62397e60b114f0c570cdfe9323a6c825645 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  9a6e94dc941025fd272495de0c46f77b793e867c 
 
 Diff: https://reviews.apache.org/r/32164/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32141: Introduce AnnotatedAuroraAdmin superclass for annotations.

2015-03-17 Thread Maxim Khutornenko

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



src/main/java/org/apache/aurora/scheduler/thrift/aop/AnnotatedAuroraAdmin.java
https://reviews.apache.org/r/32141/#comment124360

What's the guidance behind usage of @Nullable here? Technically, the 
`shardsId` could come as NULL from thrift as well as `TaskQuery` in 
`killTasks`. Both are required for RPC operation but the latter one is 
annotated with @Nullable.


- Maxim Khutornenko


On March 17, 2015, 1:29 a.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32141/
 ---
 
 (Updated March 17, 2015, 1:29 a.m.)
 
 
 Review request for Aurora, Joshua Cohen and Bill Farner.
 
 
 Bugs: AURORA-1187
 https://issues.apache.org/jira/browse/AURORA-1187
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Add an AnnotatedAuroraAdmin subclass for AuroraAdmin.Iface and change code to 
 inherit from it. This gives us a place to put annotations like the 
 AuthorizingParam one introduced in this review without needing to copy-paste 
 them when we override a new method. A future diff will use these annotations 
 to determine which permission a method call needs by inspecting the annotated 
 parameter. I created a new interface to enable DRY - otherwise I'd need to 
 annotate both ForwardingThrift and SchedulerThriftInterface and keep them in 
 sync.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/http/api/security/AuthorizingParam.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c60d1e78e0f5c474ff0dcf6393e0c305d865bded 
   src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java 
 b1d633602f3fb021a026a087b91d41580798eeaf 
   
 src/main/java/org/apache/aurora/scheduler/thrift/aop/AnnotatedAuroraAdmin.java
  PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityIT.java
  f0e40b646092e96955fddc46c3a1e62a8237b00f 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/AopModuleTest.java 
 df6b53a524b005cd5fabb099fd0c08d83e3b287d 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/FeatureToggleInterceptorTest.java
  ee98f66de7f671018fa0a0b4894f114c7a283eda 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 3900c2228038668576cdbb37e87127246a33317c 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/MockDecoratedThrift.java 
 7b1bf2ef8b413d2c1a08b41722a04af091305304 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/ServerInfoInterceptorTest.java
  7e20aaa6836bd205261afe5b1244fb6af8a56356 
   
 src/test/java/org/apache/aurora/scheduler/thrift/aop/ThriftStatsExporterInterceptorTest.java
  aae5cd7709abe3896c2ae06c218a0c90ca11c576 
 
 Diff: https://reviews.apache.org/r/32141/diff/
 
 
 Testing
 ---
 
 ./gradlew build
 
 
 Thanks,
 
 Kevin Sweeney
 




Re: Review Request 32106: Changed the updater to not update an instance if only the job owner changes

2015-03-16 Thread Maxim Khutornenko

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



src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java
https://reviews.apache.org/r/32106/#comment124146

There is actually a better place to do this type of action [1]. If not done 
there, the update will still have to iterate over all instances and generate a 
lot of instance event noise. Also, the UI will show these instances in the 
update working set, which does not reflect the NOOP nature of this action. 

[1] - 
https://github.com/apache/incubator-aurora/blob/master/src/main/java/org/apache/aurora/scheduler/updater/JobDiff.java


- Maxim Khutornenko


On March 16, 2015, 3:13 p.m., Steve Niemitz wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32106/
 ---
 
 (Updated March 16, 2015, 3:13 p.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Bugs: AURORA-1200
 https://issues.apache.org/jira/browse/AURORA-1200
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Changed the updater to not update an instance if the job owner changes
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
 14753cf5ef35d5133ca5029f3a465df884756070 
   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
 09c147e76d7c2c130a1fdd85459c45395fee7dde 
 
 Diff: https://reviews.apache.org/r/32106/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve Niemitz
 




Re: Review Request 32078: Remove the populatedDEPRECATED thrift field.

2015-03-16 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 16, 2015, 5:39 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32078/
 ---
 
 (Updated March 16, 2015, 5:39 p.m.)
 
 
 Review request for Aurora, Joshua Cohen and Maxim Khutornenko.
 
 
 Bugs: AURORA-975
 https://issues.apache.org/jira/browse/AURORA-975
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Remove the populatedDEPRECATED thrift field.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 8386ee36117c8135c7f855a496e1e887904b23dd 
   src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
 3876290c3c116ae29a0f386c899ea213efdba318 
   src/main/python/apache/aurora/client/api/updater.py 
 7fd6fdacafb7c3d2b30e1d9de2c8a48a88e0e943 
   src/main/python/apache/aurora/client/base.py 
 352d3f07148eff3c616f1f2dba861de6a023acc7 
   src/main/python/apache/aurora/client/cli/jobs.py 
 d6633d93a09f5203219d680cf3780ba1f17d0969 
   
 src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
  3cf8dfde64d38d43e72dd1e7ccc901584b59cbe9 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7f3bc28aef52ed171a24ce2a98718afb6bfb1b54 
   src/test/python/apache/aurora/client/cli/test_diff.py 
 054e6fbc1b1a56b4818b2a8f08b06e8c64bcfc10 
   src/test/python/apache/aurora/client/cli/test_restart.py 
 4f20f6bf3db8d9cae35ec6458777990c763cdbd1 
   src/test/python/apache/aurora/client/cli/test_update.py 
 9bfbbea85c6f123076fb570ea91d154dd11c2d78 
   src/test/python/apache/aurora/client/test_base.py 
 06c0b436b5104c9b3afbf80499d3bfc66e7ef2f4 
 
 Diff: https://reviews.apache.org/r/32078/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32077: Rename beta-update subcommand to update.

2015-03-16 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 16, 2015, 5:57 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32077/
 ---
 
 (Updated March 16, 2015, 5:57 p.m.)
 
 
 Review request for Aurora, Maxim Khutornenko and Zameer Manji.
 
 
 Bugs: AURORA-1160
 https://issues.apache.org/jira/browse/AURORA-1160
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Rename beta-update subcommand to update.
 
 
 Diffs
 -
 
   docs/client-commands.md f0769b5db58971c345090ee584fa5fc11e2a057a 
   docs/configuration-reference.md af0386202844a0ab706c691068d587cefc75becf 
   docs/hooks.md 23cc207700ca1cca8ae5827345a5812ab2af9d61 
   examples/vagrant/upstart/aurora-scheduler.conf 
 f85127d9d565c3c91eca914f73f28005d763234c 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c60d1e78e0f5c474ff0dcf6393e0c305d865bded 
   src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java 
 b1d633602f3fb021a026a087b91d41580798eeaf 
   src/main/python/apache/aurora/client/cli/update.py 
 cced1080655a0d6648883c16edf07f7ad75a2ca1 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  89b9ce0a4150a88e8d9099e711659b591dcdd947 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 a237da92229e21253aaca488a89af2979d94ce48 
   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
 f255f2d0a390359da4f442505fc7b8b492dc06bb 
 
 Diff: https://reviews.apache.org/r/32077/diff/
 
 
 Testing
 ---
 
 Running end-to-end tests in an existing vagrant setup, and will repeat with a 
 fresh one.  Will report back before committing.
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 32014: Adding more logging into MaintenanceController.

2015-03-13 Thread Maxim Khutornenko


 On March 13, 2015, 2:30 a.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java, 
  line 255
  https://reviews.apache.org/r/32014/diff/1/?file=892576#file892576line255
 
  This is a pretty weird log entry to have.  Can it be done in the client 
  instead?
 
 Maxim Khutornenko wrote:
 Client already has logs but that's not enough to reconstruct the behavior 
 when maintenance stalls. We need to see both sides of the story to properly 
 troubleshoot host draining issues.
 
 Bill Farner wrote:
 This one i still don't follow - AFAICT it's literally printing the 
 response handed directly to the client, which is the only caller if i'm 
 reading correctly.
 
 Maxim Khutornenko wrote:
 Having it only on the client hampers investigation when client logs are 
 missing or incomplete. This logging completes the scheduler view of the 
 maintenance story, which can be reconstructed any time we have a question and 
 the client logs a long gone.

Chatted with Bill offline. While it's certainly tempting to add a response 
logging in the scheduler, it does not align with our general approach not to. 
Perhaps we have a better answer with AURORA-189. 

I will drop this particular statement and add a more verbose status logging on 
the client instead.


- Maxim


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


On March 13, 2015, 1:23 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32014/
 ---
 
 (Updated March 13, 2015, 1:23 a.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
 b6f642e319b790544bc538098e7cb78b1bb49997 
   
 src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
  bd031a5e0b7d2923e36ca5958c5074f40dc64848 
 
 Diff: https://reviews.apache.org/r/32014/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32014: Adding more logging into MaintenanceController.

2015-03-13 Thread Maxim Khutornenko

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

(Updated March 13, 2015, 5:59 p.m.)


Review request for Aurora and Bill Farner.


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


Repository: aurora


Description
---

Also added missing test coverage.


Diffs
-

  config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
b6f642e319b790544bc538098e7cb78b1bb49997 
  
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
 bd031a5e0b7d2923e36ca5958c5074f40dc64848 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32014: Adding more logging into MaintenanceController.

2015-03-13 Thread Maxim Khutornenko

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

(Updated March 13, 2015, 8:05 p.m.)


Review request for Aurora and Bill Farner.


Changes
---

Bill's comments.


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


Repository: aurora


Description
---

Also added missing test coverage.


Diffs (updated)
-

  config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
b6f642e319b790544bc538098e7cb78b1bb49997 
  src/main/python/apache/aurora/admin/host_maintenance.py 
8fa5182fae509493def7175635fbe1cb79fa3eec 
  
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
 bd031a5e0b7d2923e36ca5958c5074f40dc64848 
  src/test/python/apache/aurora/admin/test_host_maintenance.py 
bb586700814a96b3e83d11728b462a7765e81bc1 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32014: Adding more logging into MaintenanceController.

2015-03-13 Thread Maxim Khutornenko

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

(Updated March 13, 2015, 8:06 p.m.)


Review request for Aurora and Bill Farner.


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


Repository: aurora


Description
---

Also added missing test coverage.


Diffs (updated)
-

  config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
b6f642e319b790544bc538098e7cb78b1bb49997 
  src/main/python/apache/aurora/admin/host_maintenance.py 
8fa5182fae509493def7175635fbe1cb79fa3eec 
  
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
 bd031a5e0b7d2923e36ca5958c5074f40dc64848 
  src/test/python/apache/aurora/admin/test_host_maintenance.py 
bb586700814a96b3e83d11728b462a7765e81bc1 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 32014: Adding more logging into MaintenanceController.

2015-03-13 Thread Maxim Khutornenko


 On March 13, 2015, 2:30 a.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java, 
  line 255
  https://reviews.apache.org/r/32014/diff/1/?file=892576#file892576line255
 
  This is a pretty weird log entry to have.  Can it be done in the client 
  instead?
 
 Maxim Khutornenko wrote:
 Client already has logs but that's not enough to reconstruct the behavior 
 when maintenance stalls. We need to see both sides of the story to properly 
 troubleshoot host draining issues.
 
 Bill Farner wrote:
 This one i still don't follow - AFAICT it's literally printing the 
 response handed directly to the client, which is the only caller if i'm 
 reading correctly.

Having it only on the client hampers investigation when client logs are missing 
or incomplete. This logging completes the scheduler view of the maintenance 
story, which can be reconstructed any time we have a question and the client 
logs a long gone.


- Maxim


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


On March 13, 2015, 1:23 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32014/
 ---
 
 (Updated March 13, 2015, 1:23 a.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
 b6f642e319b790544bc538098e7cb78b1bb49997 
   
 src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
  bd031a5e0b7d2923e36ca5958c5074f40dc64848 
 
 Diff: https://reviews.apache.org/r/32014/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 32048: Build all components before running the end-to-end tests.

2015-03-13 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 13, 2015, 3:45 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/32048/
 ---
 
 (Updated March 13, 2015, 3:45 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1191
 https://issues.apache.org/jira/browse/AURORA-1191
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Build all components before running the end-to-end tests.
 
 
 Diffs
 -
 
   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
 f9f81891a0fad765255cea06bfc4f2ab1e794c6a 
 
 Diff: https://reviews.apache.org/r/32048/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-12 Thread Maxim Khutornenko

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

(Updated March 10, 2015, 5:26 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Bill's comments.


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


Repository: aurora


Description
---

Extracting PreemptorSlotFinder to be reused for slot validation in later 
stages. The changes are very minimal and mostly around metric handling and test 
code.

Also added missing test coverage.


Diffs (updated)
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
701b9052696337766cb233c865cb9fbb4907071e 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
e093ca54521ffb9399bb97ce60f510331af70853 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictim.java 
80c2023f46b63753dcec6a555dba626720a1925a 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
bddb9647493b3e7a58c40d4b477a06161c1388a2 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
ae56d1e09322869eedd7a27586cd6f96edd64e0a 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
85b3874a36ed07c684f26da172952c932cff707a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
58733bdc4dd6de29ccead5cb0a267286e8dc0656 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
891cc098cca99e84ba014b7131106ceb0b429b5f 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/ClusterStateImplTest.java
 7207867813b0d096772dbc7f92fc1c76937e9831 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictimTest.java
 b0380b3fabb45be8ace55cfcf38ce15ef8040188 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 83680769611878886da04e1794b321aa1986e678 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 020b67187a18bba64d9b562c3a6c0969fc85d469 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 PRE-CREATION 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31966: Add client support for including messages when changing update state.

2015-03-12 Thread Maxim Khutornenko

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

Ship it!



src/main/python/apache/aurora/client/api/__init__.py
https://reviews.apache.org/r/31966/#comment123752

Spacing seems off here and below.



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/31966/#comment123755

I'd also include a short '-m' name to make typing less tedious.



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/31966/#comment123753

While not entirely consistent, the majority of our CommandOption help 
strings start with a capital.



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/31966/#comment123754

Mind sorting them alphabetically?


- Maxim Khutornenko


On March 12, 2015, 1:27 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31966/
 ---
 
 (Updated March 12, 2015, 1:27 a.m.)
 
 
 Review request for Aurora, Maxim Khutornenko and Zameer Manji.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 More plumbing.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/__init__.py 
 4025781963a61821d111e6347ae02d27459fd8cd 
   src/main/python/apache/aurora/client/cli/update.py 
 37cc49880eab2ac0879945714634a4938b603aae 
   src/main/python/apache/aurora/client/hooks/hooked_api.py 
 60a5aad7c3a7388154654673a6669c93be716635 
   src/test/python/apache/aurora/api_util.py 
 70599555c8b13073e51adee31662df74afe67edb 
   src/test/python/apache/aurora/client/api/test_api.py 
 d211fb975db01e72a88312c28078e06cb622d83c 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 370a46b46d8fe9499468e0792f181e79e8042b61 
 
 Diff: https://reviews.apache.org/r/31966/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31913: Added 'none' host maintenance grouping function.

2015-03-12 Thread Maxim Khutornenko

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



src/test/python/apache/aurora/client/test_base.py
https://reviews.apache.org/r/31913/#comment123803

Mind adding a host maintenance test instead? I am concerned this may drift 
over time and will no longer represent how the grouping is actually used.


- Maxim Khutornenko


On March 11, 2015, 2:53 a.m., David Robinson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31913/
 ---
 
 (Updated March 11, 2015, 2:53 a.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1181
 https://issues.apache.org/jira/browse/AURORA-1181
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Added 'none' host maintenance grouping function.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/base.py 
 d550c8eeed91f0967e281957b71fcefb0b4cf3b8 
   src/test/python/apache/aurora/client/test_base.py 
 06c0b436b5104c9b3afbf80499d3bfc66e7ef2f4 
 
 Diff: https://reviews.apache.org/r/31913/diff/
 
 
 Testing
 ---
 
 [drobinson@x1 aurora-github (drobinson/no_grouping)]$ ./pants test 
 src/test/python/apache/aurora/client:base
 
 15:43:40 00:00 [main]
(To run a reporting server: ./pants server)
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00   [setup]
 15:43:40 00:00 [parse]
Executing tasks in goals: bootstrap - imports - unpack-jars 
 - deferred-sources - gen - resolve - compile - resources - test
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00 [bootstrap-jvm-tools]
 15:43:40 00:00   [imports]
 15:43:40 00:00 [ivy-imports]
 15:43:40 00:00   [unpack-jars]
 15:43:40 00:00 [unpack-jars]
 15:43:40 00:00   [deferred-sources]
 15:43:40 00:00 [deferred-sources]
 15:43:40 00:00   [gen]
 15:43:40 00:00 [thrift]
 15:43:40 00:00 [scrooge]
 15:43:40 00:00 [protoc]
 15:43:40 00:00 [antlr]
 15:43:40 00:00 [ragel]
 15:43:40 00:00 [jaxb]
 15:43:40 00:00 [wire]
 15:43:40 00:00 [aapt]
 15:43:40 00:00   [resolve]
 15:43:40 00:00 [ivy]
 15:43:40 00:00   [compile]
 15:43:40 00:00 [compile]
 15:43:40 00:00 [jvm]
 15:43:40 00:00   [jvm-compilers]
 15:43:40 00:00   [resources]
 15:43:40 00:00 [prepare]
 15:43:40 00:00   [test]
 15:43:40 00:00 [run_prep_command]
 15:43:40 00:00 [test]
 15:43:40 00:00 [pytest]
 15:43:40 00:00   [run]
  == test session starts ===
  platform linux2 -- Python 2.7.8 -- py-1.4.26 -- 
 pytest-2.6.4
  plugins: cov, timeout
  collected 7 items 
  
  src/test/python/apache/aurora/client/test_base.py ...
  
   7 passed in 0.10 seconds 
  
 15:43:41 00:01 [junit]
 15:43:41 00:01 [specs]
SUCCESS
 
 
 Thanks,
 
 David Robinson
 




Re: Review Request 31913: Added 'none' host maintenance grouping function.

2015-03-12 Thread Maxim Khutornenko

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

Ship it!


Thanks!

- Maxim Khutornenko


On March 12, 2015, 11:13 p.m., David Robinson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31913/
 ---
 
 (Updated March 12, 2015, 11:13 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1181
 https://issues.apache.org/jira/browse/AURORA-1181
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Added 'none' host maintenance grouping function.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/base.py 
 d550c8eeed91f0967e281957b71fcefb0b4cf3b8 
   src/test/python/apache/aurora/admin/test_host_maintenance.py 
 bb586700814a96b3e83d11728b462a7765e81bc1 
 
 Diff: https://reviews.apache.org/r/31913/diff/
 
 
 Testing
 ---
 
 [drobinson@x1 aurora-github (drobinson/no_grouping)]$ ./pants test 
 src/test/python/apache/aurora/client:base
 
 15:43:40 00:00 [main]
(To run a reporting server: ./pants server)
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00   [setup]
 15:43:40 00:00 [parse]
Executing tasks in goals: bootstrap - imports - unpack-jars 
 - deferred-sources - gen - resolve - compile - resources - test
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00 [bootstrap-jvm-tools]
 15:43:40 00:00   [imports]
 15:43:40 00:00 [ivy-imports]
 15:43:40 00:00   [unpack-jars]
 15:43:40 00:00 [unpack-jars]
 15:43:40 00:00   [deferred-sources]
 15:43:40 00:00 [deferred-sources]
 15:43:40 00:00   [gen]
 15:43:40 00:00 [thrift]
 15:43:40 00:00 [scrooge]
 15:43:40 00:00 [protoc]
 15:43:40 00:00 [antlr]
 15:43:40 00:00 [ragel]
 15:43:40 00:00 [jaxb]
 15:43:40 00:00 [wire]
 15:43:40 00:00 [aapt]
 15:43:40 00:00   [resolve]
 15:43:40 00:00 [ivy]
 15:43:40 00:00   [compile]
 15:43:40 00:00 [compile]
 15:43:40 00:00 [jvm]
 15:43:40 00:00   [jvm-compilers]
 15:43:40 00:00   [resources]
 15:43:40 00:00 [prepare]
 15:43:40 00:00   [test]
 15:43:40 00:00 [run_prep_command]
 15:43:40 00:00 [test]
 15:43:40 00:00 [pytest]
 15:43:40 00:00   [run]
  == test session starts ===
  platform linux2 -- Python 2.7.8 -- py-1.4.26 -- 
 pytest-2.6.4
  plugins: cov, timeout
  collected 7 items 
  
  src/test/python/apache/aurora/client/test_base.py ...
  
   7 passed in 0.10 seconds 
  
 15:43:41 00:01 [junit]
 15:43:41 00:01 [specs]
SUCCESS
 
 
 Thanks,
 
 David Robinson
 




Re: Review Request 31913: Added 'none' host maintenance grouping function.

2015-03-12 Thread Maxim Khutornenko

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


Thanks, it's now on master.

- Maxim Khutornenko


On March 12, 2015, 11:13 p.m., David Robinson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31913/
 ---
 
 (Updated March 12, 2015, 11:13 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1181
 https://issues.apache.org/jira/browse/AURORA-1181
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Added 'none' host maintenance grouping function.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/base.py 
 d550c8eeed91f0967e281957b71fcefb0b4cf3b8 
   src/test/python/apache/aurora/admin/test_host_maintenance.py 
 bb586700814a96b3e83d11728b462a7765e81bc1 
 
 Diff: https://reviews.apache.org/r/31913/diff/
 
 
 Testing
 ---
 
 [drobinson@x1 aurora-github (drobinson/no_grouping)]$ ./pants test 
 src/test/python/apache/aurora/client:base
 
 15:43:40 00:00 [main]
(To run a reporting server: ./pants server)
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00   [setup]
 15:43:40 00:00 [parse]
Executing tasks in goals: bootstrap - imports - unpack-jars 
 - deferred-sources - gen - resolve - compile - resources - test
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00 [bootstrap-jvm-tools]
 15:43:40 00:00   [imports]
 15:43:40 00:00 [ivy-imports]
 15:43:40 00:00   [unpack-jars]
 15:43:40 00:00 [unpack-jars]
 15:43:40 00:00   [deferred-sources]
 15:43:40 00:00 [deferred-sources]
 15:43:40 00:00   [gen]
 15:43:40 00:00 [thrift]
 15:43:40 00:00 [scrooge]
 15:43:40 00:00 [protoc]
 15:43:40 00:00 [antlr]
 15:43:40 00:00 [ragel]
 15:43:40 00:00 [jaxb]
 15:43:40 00:00 [wire]
 15:43:40 00:00 [aapt]
 15:43:40 00:00   [resolve]
 15:43:40 00:00 [ivy]
 15:43:40 00:00   [compile]
 15:43:40 00:00 [compile]
 15:43:40 00:00 [jvm]
 15:43:40 00:00   [jvm-compilers]
 15:43:40 00:00   [resources]
 15:43:40 00:00 [prepare]
 15:43:40 00:00   [test]
 15:43:40 00:00 [run_prep_command]
 15:43:40 00:00 [test]
 15:43:40 00:00 [pytest]
 15:43:40 00:00   [run]
  == test session starts ===
  platform linux2 -- Python 2.7.8 -- py-1.4.26 -- 
 pytest-2.6.4
  plugins: cov, timeout
  collected 7 items 
  
  src/test/python/apache/aurora/client/test_base.py ...
  
   7 passed in 0.10 seconds 
  
 15:43:41 00:01 [junit]
 15:43:41 00:01 [specs]
SUCCESS
 
 
 Thanks,
 
 David Robinson
 




Review Request 32014: Adding more logging into MaintenanceController.

2015-03-12 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

Also added missing test coverage.


Diffs
-

  config/legacy_untested_classes.txt 06e130fae6bdc43b5e8aff182a530eac65acca53 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java 
b6f642e319b790544bc538098e7cb78b1bb49997 
  
src/test/java/org/apache/aurora/scheduler/state/MaintenanceControllerImplTest.java
 bd031a5e0b7d2923e36ca5958c5074f40dc64848 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31916: Add scheduler API support for audit messages when changing job updates.

2015-03-10 Thread Maxim Khutornenko


 On March 11, 2015, 12:19 a.m., Maxim Khutornenko wrote:
  src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java, 
  line 48
  https://reviews.apache.org/r/31916/diff/1/?file=890852#file890852line48
 
  Do we really want to fail an operation when a message gets too long? 
  Since it's optional anyway, I'd expect truncation could be a more resilient 
  way to handle this.
 
 David McLaughlin wrote:
 I think it's better to just give a clear message telling them there is a 
 limit. Truncation could happen in the client if needed.
 
 Maxim Khutornenko wrote:
 I was considering a case when some automated external service would 
 attempt to act on an update and append some arbitrary metadata with 
 pause/resume/abort. While not desirable, does not necessarily warrant a 
 failure. Stopping a misbehaving update should clearly be a higher priority 
 than enforcing a strict audit mode.
 
 Bill Farner wrote:
 Maybe it does warrant a failure, though.  IMHO truncation would be a 
 policy decision that the scheduler is making on behalf of the client.  If the 
 most important part of the message is after the truncation, we've made a poor 
 choice.

IDK, this whole length enforcment seems quite arbitrary to me. We don't 
restrict string size anywhere in thrift API or SQL schema. The only exception 
is TaskIdGenerator where the ID length is critical for external reasons 
(MESOS-691). Perhaps we should start doing it everywhere then?


- Maxim


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


On March 11, 2015, 12:04 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31916/
 ---
 
 (Updated March 11, 2015, 12:04 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Joshua Cohen.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Add scheduler API support for audit messages when changing job updates.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 badb8eec51d9034fdfee79061c777927b2ba1314 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c0d48034ad6b6a91f1f58aca54544a5eddea4742 
   src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java 
 78024a8c257f2d370a4b4d1ba79c6eac68d81ac2 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  58824888a4839b71f4efa832a6d62ff6dd946e40 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  7f5e5c2091458192d9310a81314f3c2c42b11f49 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 eebe01b161fbebdc43e62df4836136a02c3d5fb7 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e119c494de8e81d7e2dd1f78337f08dcba3cd518 
 
 Diff: https://reviews.apache.org/r/31916/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-10 Thread Maxim Khutornenko


 On March 7, 2015, 5:30 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java,
   line 326
  https://reviews.apache.org/r/31821/diff/1/?file=888148#file888148line326
 
  Not yours, but it seems odd that we would call a function and 
  internally suppress its behavior based on configuration.  Seems like the 
  caller should avoid the call if the behavior is not desired.  If you agree, 
  please TODO.
 
 Maxim Khutornenko wrote:
 Not sure I share your concern. This is a predicate intended to answer a 
 simple question, which it does quite well. I doubt the alternative would gain 
 us anything here.
 
 Bill Farner wrote:
 Perhaps i highlighted a line that created confusion.  I'm suggesting that 
 this predicate does not belong in this class, as it is used to determine 
 whether to execute the 'body' of the preemptor.  I suggest this predicate 
 live in the caller.

Thanks for explaining, makes sense now. Added a TODO to refactor 
PreemptionSlotFinder interface to accept an idle pending task instead.


- Maxim


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


On March 9, 2015, 11:34 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31821/
 ---
 
 (Updated March 9, 2015, 11:34 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Extracting PreemptorSlotFinder to be reused for slot validation in later 
 stages. The changes are very minimal and mostly around metric handling and 
 test code.
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 701b9052696337766cb233c865cb9fbb4907071e 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 e093ca54521ffb9399bb97ce60f510331af70853 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictim.java
  80c2023f46b63753dcec6a555dba626720a1925a 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 bddb9647493b3e7a58c40d4b477a06161c1388a2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 ae56d1e09322869eedd7a27586cd6f96edd64e0a 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  85b3874a36ed07c684f26da172952c932cff707a 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 58733bdc4dd6de29ccead5cb0a267286e8dc0656 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 891cc098cca99e84ba014b7131106ceb0b429b5f 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/ClusterStateImplTest.java
  7207867813b0d096772dbc7f92fc1c76937e9831 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictimTest.java
  b0380b3fabb45be8ace55cfcf38ce15ef8040188 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  83680769611878886da04e1794b321aa1986e678 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  020b67187a18bba64d9b562c3a6c0969fc85d469 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/31821/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31901: Export task status reason counters whenever they are present.

2015-03-10 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 10, 2015, 6 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31901/
 ---
 
 (Updated March 10, 2015, 6 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 I realized that the reason values apply to more than just TASK_LOST, so the 
 previous code would hide reasons like when a task has exceeded its memory 
 limit.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/mesos/TaskStatusStats.java 
 68214f20dd7f46adec2d8f6d84e9840dc88dc0fb 
   src/test/java/org/apache/aurora/scheduler/mesos/TaskStatusStatsTest.java 
 4bbeff957050fb9d8ee81d9fc79520a6a0ac38a1 
 
 Diff: https://reviews.apache.org/r/31901/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31913: Added 'none' host maintenance grouping function.

2015-03-10 Thread Maxim Khutornenko

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



src/main/python/apache/aurora/client/base.py
https://reviews.apache.org/r/31913/#comment123375

This will actually fail upstream in host_maintenance.py when it tries to 
sort by group:
```
 d = defaultdict(set)
 d[None].add(1)
 d[None].add(2)
 s = sorted(d, key=lambda v: v[0])
Traceback (most recent call last):
  File stdin, line 1, in module
  File stdin, line 1, in lambda
TypeError: 'NoneType' object has no attribute '__getitem__'
```

Please, add a typed default grouping (e.g. ALL) and a correspondent test 
in test_host_maintenance.py.


- Maxim Khutornenko


On March 10, 2015, 10:44 p.m., David Robinson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31913/
 ---
 
 (Updated March 10, 2015, 10:44 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1181
 https://issues.apache.org/jira/browse/AURORA-1181
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Added 'none' host maintenance grouping function.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/base.py 
 d550c8eeed91f0967e281957b71fcefb0b4cf3b8 
   src/test/python/apache/aurora/client/test_base.py 
 06c0b436b5104c9b3afbf80499d3bfc66e7ef2f4 
 
 Diff: https://reviews.apache.org/r/31913/diff/
 
 
 Testing
 ---
 
 [drobinson@x1 aurora-github (drobinson/no_grouping)]$ ./pants test 
 src/test/python/apache/aurora/client:base
 
 15:43:40 00:00 [main]
(To run a reporting server: ./pants server)
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00   [setup]
 15:43:40 00:00 [parse]
Executing tasks in goals: bootstrap - imports - unpack-jars 
 - deferred-sources - gen - resolve - compile - resources - test
 15:43:40 00:00   [bootstrap]
 15:43:40 00:00 [bootstrap-jvm-tools]
 15:43:40 00:00   [imports]
 15:43:40 00:00 [ivy-imports]
 15:43:40 00:00   [unpack-jars]
 15:43:40 00:00 [unpack-jars]
 15:43:40 00:00   [deferred-sources]
 15:43:40 00:00 [deferred-sources]
 15:43:40 00:00   [gen]
 15:43:40 00:00 [thrift]
 15:43:40 00:00 [scrooge]
 15:43:40 00:00 [protoc]
 15:43:40 00:00 [antlr]
 15:43:40 00:00 [ragel]
 15:43:40 00:00 [jaxb]
 15:43:40 00:00 [wire]
 15:43:40 00:00 [aapt]
 15:43:40 00:00   [resolve]
 15:43:40 00:00 [ivy]
 15:43:40 00:00   [compile]
 15:43:40 00:00 [compile]
 15:43:40 00:00 [jvm]
 15:43:40 00:00   [jvm-compilers]
 15:43:40 00:00   [resources]
 15:43:40 00:00 [prepare]
 15:43:40 00:00   [test]
 15:43:40 00:00 [run_prep_command]
 15:43:40 00:00 [test]
 15:43:40 00:00 [pytest]
 15:43:40 00:00   [run]
  == test session starts ===
  platform linux2 -- Python 2.7.8 -- py-1.4.26 -- 
 pytest-2.6.4
  plugins: cov, timeout
  collected 7 items 
  
  src/test/python/apache/aurora/client/test_base.py ...
  
   7 passed in 0.10 seconds 
  
 15:43:41 00:01 [junit]
 15:43:41 00:01 [specs]
SUCCESS
 
 
 Thanks,
 
 David Robinson
 




Re: Review Request 31916: Add scheduler API support for audit messages when changing job updates.

2015-03-10 Thread Maxim Khutornenko

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



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java
https://reviews.apache.org/r/31916/#comment123392

Do we really want to fail an operation when a message gets too long? Since 
it's optional anyway, I'd expect truncation could be a more resilient way to 
handle this.


- Maxim Khutornenko


On March 11, 2015, 12:04 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31916/
 ---
 
 (Updated March 11, 2015, 12:04 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Joshua Cohen.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Add scheduler API support for audit messages when changing job updates.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 badb8eec51d9034fdfee79061c777927b2ba1314 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c0d48034ad6b6a91f1f58aca54544a5eddea4742 
   src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java 
 78024a8c257f2d370a4b4d1ba79c6eac68d81ac2 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  58824888a4839b71f4efa832a6d62ff6dd946e40 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  7f5e5c2091458192d9310a81314f3c2c42b11f49 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 eebe01b161fbebdc43e62df4836136a02c3d5fb7 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e119c494de8e81d7e2dd1f78337f08dcba3cd518 
 
 Diff: https://reviews.apache.org/r/31916/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31570: Suppressing duplicate update instance events.

2015-03-10 Thread Maxim Khutornenko

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

(Updated March 11, 2015, 12:19 a.m.)


Review request for Aurora, David McLaughlin and Bill Farner.


Changes
---

Rebased.


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


Repository: aurora


Description
---

All instance update actions are supposed to be unique. Suppressing duplicats 
due to pause/resume cycle.


Diffs (updated)
-

  
src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java 
58824888a4839b71f4efa832a6d62ff6dd946e40 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
e119c494de8e81d7e2dd1f78337f08dcba3cd518 

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


Testing
---

./gradlew -Pq build
Manual testing in vagrant.


Thanks,

Maxim Khutornenko



Re: Review Request 31916: Add scheduler API support for audit messages when changing job updates.

2015-03-10 Thread Maxim Khutornenko


 On March 11, 2015, 12:19 a.m., Maxim Khutornenko wrote:
  src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java, 
  line 48
  https://reviews.apache.org/r/31916/diff/1/?file=890852#file890852line48
 
  Do we really want to fail an operation when a message gets too long? 
  Since it's optional anyway, I'd expect truncation could be a more resilient 
  way to handle this.
 
 David McLaughlin wrote:
 I think it's better to just give a clear message telling them there is a 
 limit. Truncation could happen in the client if needed.

I was considering a case when some automated external service would attempt to 
act on an update and append some arbitrary metadata with pause/resume/abort. 
While not desirable, does not necessarily warrant a failure. Stopping a 
misbehaving update should clearly be a higher priority than enforcing a strict 
audit mode.


- Maxim


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


On March 11, 2015, 12:04 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31916/
 ---
 
 (Updated March 11, 2015, 12:04 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Joshua Cohen.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Add scheduler API support for audit messages when changing job updates.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 badb8eec51d9034fdfee79061c777927b2ba1314 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  c0d48034ad6b6a91f1f58aca54544a5eddea4742 
   src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java 
 78024a8c257f2d370a4b4d1ba79c6eac68d81ac2 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  58824888a4839b71f4efa832a6d62ff6dd946e40 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  7f5e5c2091458192d9310a81314f3c2c42b11f49 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 eebe01b161fbebdc43e62df4836136a02c3d5fb7 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e119c494de8e81d7e2dd1f78337f08dcba3cd518 
 
 Diff: https://reviews.apache.org/r/31916/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31814: Include messages with internal job updater state transitions.

2015-03-09 Thread Maxim Khutornenko

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



src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
https://reviews.apache.org/r/31814/#comment122955

What's the motivation behind dropping the Aurora Updater here?


- Maxim Khutornenko


On March 7, 2015, 1:06 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31814/
 ---
 
 (Updated March 7, 2015, 1:06 a.m.)
 
 
 Review request for Aurora, Joshua Cohen and Maxim Khutornenko.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Include messages with internal job updater state transitions.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
 09f2a74c9e6f6dbf79f83aa7a387587c593b9f0e 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  acdade3dca807a221b4da975d0310c91884ee752 
   src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdater.java 
 27a5b9026f5ac3b3bdeb32813b10435bc3dab173 
   src/main/java/org/apache/aurora/scheduler/updater/SideEffect.java 
 27e0654bfb90f48b407edda5a0c914e595d9c552 
   src/main/java/org/apache/aurora/scheduler/updater/StateEvaluator.java 
 66b0e4b7a9b23e3e6c772a21f5adc39e1d1461ad 
   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
 4db0080547d61af1511a4fb62bf88b3bbf819f1e 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e24d6bde5f3479a75522e825cce4ec6c30c117aa 
   src/test/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterTest.java 
 7d0a7438b4a517e5e0d44f4e99aceb1a6d19f987 
 
 Diff: https://reviews.apache.org/r/31814/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31525: Improving NearestFit reporting accuracy.

2015-03-09 Thread Maxim Khutornenko

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

(Updated March 9, 2015, 9:59 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Rebased.


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


Repository: aurora


Description
---

Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
relative weight (severity) with a dedicated constraint mismatch ranked higest 
and an insufficient resource mismatch - lowest. Together with break early 
rule in SchedulingFilter, this ensures heavier vetoes are given proper 
attention in the NearestFit. This simplifies `NearestFit` logic while also 
improving pending reason reporting accuracy and scheduling performance.


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
a020ce50d578fba7f32b370f448a49eb1c284147 
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
785b5742301eec6930a431585256fefce7ec776d 
  
src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java 
b00668423a53a8cf6f4da3456bce3354f1fd2424 
  src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
e0f9d8b4c3d80b70faa10612b82a034e3dae9112 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31814: Include messages with internal job updater state transitions.

2015-03-09 Thread Maxim Khutornenko


 On March 9, 2015, 5:50 p.m., Maxim Khutornenko wrote:
  src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java,
   line 291
  https://reviews.apache.org/r/31814/diff/2/?file=888120#file888120line291
 
  What's the motivation behind dropping the Aurora Updater here?
 
 Bill Farner wrote:
 I think the magic user value abuses a field that serves a different 
 purpose.  IMHO an API consumer should be able to programmatically determine 
 that the scheduler independently performed an action without resorting to 
 string matching on the magic value of a field.
 
 In this particular case, i don't think the user field adds signal to what 
 is already present in the state enum value.

I still think having a special Aurora Updater user clearly visible in the UI 
makes it way easier to grasp the event origin rather than trying to decipher a 
particular state meaning. Users may not and should not be familar with the 
update state diagram in order to understand the cause of the transition. This 
is especially true in a multi-actor environment where state transitions may 
come from users (pause/resume/abort), external monitoring service (pause) or 
the updater itself (pulse expired).


- Maxim


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


On March 7, 2015, 1:06 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31814/
 ---
 
 (Updated March 7, 2015, 1:06 a.m.)
 
 
 Review request for Aurora, Joshua Cohen and Maxim Khutornenko.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Include messages with internal job updater state transitions.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
 09f2a74c9e6f6dbf79f83aa7a387587c593b9f0e 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  acdade3dca807a221b4da975d0310c91884ee752 
   src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdater.java 
 27a5b9026f5ac3b3bdeb32813b10435bc3dab173 
   src/main/java/org/apache/aurora/scheduler/updater/SideEffect.java 
 27e0654bfb90f48b407edda5a0c914e595d9c552 
   src/main/java/org/apache/aurora/scheduler/updater/StateEvaluator.java 
 66b0e4b7a9b23e3e6c772a21f5adc39e1d1461ad 
   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
 4db0080547d61af1511a4fb62bf88b3bbf819f1e 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e24d6bde5f3479a75522e825cce4ec6c30c117aa 
   src/test/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterTest.java 
 7d0a7438b4a517e5e0d44f4e99aceb1a6d19f987 
 
 Diff: https://reviews.apache.org/r/31814/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31869: Catch only known Exception types in the client.

2015-03-09 Thread Maxim Khutornenko

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

Ship it!



src/main/python/apache/aurora/client/cli/jobs.py
https://reviews.apache.org/r/31869/#comment123014

why not just context?


- Maxim Khutornenko


On March 9, 2015, 8:10 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31869/
 ---
 
 (Updated March 9, 2015, 8:10 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Zameer Manji.
 
 
 Bugs: AURORA-1176
 https://issues.apache.org/jira/browse/AURORA-1176
 
 
 Repository: aurora
 
 
 Description
 ---
 
 As indicated by some changes in tests - there were legitimate issues hiding 
 behind this catch.  After this change, the client will allow unhandled 
 exceptions to surface in their full glory.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/__init__.py 
 194629f61192c1d7d5e7064e9226adf26d03e890 
   src/main/python/apache/aurora/client/base.py 
 d550c8eeed91f0967e281957b71fcefb0b4cf3b8 
   src/main/python/apache/aurora/client/cli/__init__.py 
 4d9ef09749e3075b9d9e2ae1db311e60f7bdb4ee 
   src/main/python/apache/aurora/client/cli/jobs.py 
 286b2182d5fe25703882f0b367739ad03d6c8fe8 
   src/test/python/apache/aurora/client/cli/test_api_from_cli.py 
 b855c3c2d74125738d2106e18a9e9b0ebed6ac4b 
   src/test/python/apache/aurora/client/cli/test_create.py 
 459d157155f74b6a3d140b85d3b7f0364367 
   src/test/python/apache/aurora/client/cli/test_kill.py 
 7aad34a2fe5591937c5bca890751073439e3a1a6 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 1806769426a196793481f948892f5474df8dd665 
   src/test/python/apache/aurora/client/cli/util.py 
 b65970a2717a1f36767c61e5e09c980b04895f01 
 
 Diff: https://reviews.apache.org/r/31869/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31814: Include messages with internal job updater state transitions.

2015-03-09 Thread Maxim Khutornenko


 On March 9, 2015, 5:50 p.m., Maxim Khutornenko wrote:
  src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java,
   line 291
  https://reviews.apache.org/r/31814/diff/2/?file=888120#file888120line291
 
  What's the motivation behind dropping the Aurora Updater here?
 
 Bill Farner wrote:
 I think the magic user value abuses a field that serves a different 
 purpose.  IMHO an API consumer should be able to programmatically determine 
 that the scheduler independently performed an action without resorting to 
 string matching on the magic value of a field.
 
 In this particular case, i don't think the user field adds signal to what 
 is already present in the state enum value.
 
 Maxim Khutornenko wrote:
 I still think having a special Aurora Updater user clearly visible in 
 the UI makes it way easier to grasp the event origin rather than trying to 
 decipher a particular state meaning. Users may not and should not be familar 
 with the update state diagram in order to understand the cause of the 
 transition. This is especially true in a multi-actor environment where state 
 transitions may come from users (pause/resume/abort), external monitoring 
 service (pause) or the updater itself (pulse expired).
 
 Bill Farner wrote:
  I still think having a special Aurora Updater user clearly visible in 
 the UI
 
 I completely agree, but the UI should make that decision, not the 
 scheduler.

I see, sure I am fine with that. Do you propose to address it separately? If 
so, mind filing a ticket?


- Maxim


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


On March 7, 2015, 1:06 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31814/
 ---
 
 (Updated March 7, 2015, 1:06 a.m.)
 
 
 Review request for Aurora, Joshua Cohen and Maxim Khutornenko.
 
 
 Bugs: AURORA-1077
 https://issues.apache.org/jira/browse/AURORA-1077
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Include messages with internal job updater state transitions.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/updater/InstanceUpdater.java 
 09f2a74c9e6f6dbf79f83aa7a387587c593b9f0e 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  acdade3dca807a221b4da975d0310c91884ee752 
   src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdater.java 
 27a5b9026f5ac3b3bdeb32813b10435bc3dab173 
   src/main/java/org/apache/aurora/scheduler/updater/SideEffect.java 
 27e0654bfb90f48b407edda5a0c914e595d9c552 
   src/main/java/org/apache/aurora/scheduler/updater/StateEvaluator.java 
 66b0e4b7a9b23e3e6c772a21f5adc39e1d1461ad 
   src/test/java/org/apache/aurora/scheduler/updater/InstanceUpdaterTest.java 
 4db0080547d61af1511a4fb62bf88b3bbf819f1e 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e24d6bde5f3479a75522e825cce4ec6c30c117aa 
   src/test/java/org/apache/aurora/scheduler/updater/OneWayJobUpdaterTest.java 
 7d0a7438b4a517e5e0d44f4e99aceb1a6d19f987 
 
 Diff: https://reviews.apache.org/r/31814/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-09 Thread Maxim Khutornenko

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

(Updated March 9, 2015, 11:34 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Bill's and Zameer's comments.


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


Repository: aurora


Description
---

Extracting PreemptorSlotFinder to be reused for slot validation in later 
stages. The changes are very minimal and mostly around metric handling and test 
code.

Also added missing test coverage.


Diffs (updated)
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
701b9052696337766cb233c865cb9fbb4907071e 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
e093ca54521ffb9399bb97ce60f510331af70853 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictim.java 
80c2023f46b63753dcec6a555dba626720a1925a 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
bddb9647493b3e7a58c40d4b477a06161c1388a2 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
ae56d1e09322869eedd7a27586cd6f96edd64e0a 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
85b3874a36ed07c684f26da172952c932cff707a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
58733bdc4dd6de29ccead5cb0a267286e8dc0656 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
891cc098cca99e84ba014b7131106ceb0b429b5f 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/ClusterStateImplTest.java
 7207867813b0d096772dbc7f92fc1c76937e9831 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictimTest.java
 b0380b3fabb45be8ace55cfcf38ce15ef8040188 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 83680769611878886da04e1794b321aa1986e678 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 020b67187a18bba64d9b562c3a6c0969fc85d469 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 PRE-CREATION 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-09 Thread Maxim Khutornenko
, so we can avoid further modification 
  of the test cases.  However, in this diff please correct the line wrap 
  style on the arguments.
 
 Zameer Manji wrote:
 +1 to Bill's suggestion of having `makeTask(IJobKey job, String id)`. I 
 think having a fixture with this many options will only lead to complexity 
 and sadness if the tests increase in scope.

Agree. Dropped.


- Maxim


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


On March 7, 2015, 1:36 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31821/
 ---
 
 (Updated March 7, 2015, 1:36 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Extracting PreemptorSlotFinder to be reused for slot validation in later 
 stages. The changes are very minimal and mostly around metric handling and 
 test code.
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 701b9052696337766cb233c865cb9fbb4907071e 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 e093ca54521ffb9399bb97ce60f510331af70853 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  PRE-CREATION 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 bddb9647493b3e7a58c40d4b477a06161c1388a2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 ae56d1e09322869eedd7a27586cd6f96edd64e0a 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  85b3874a36ed07c684f26da172952c932cff707a 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 58733bdc4dd6de29ccead5cb0a267286e8dc0656 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 891cc098cca99e84ba014b7131106ceb0b429b5f 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  83680769611878886da04e1794b321aa1986e678 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  020b67187a18bba64d9b562c3a6c0969fc85d469 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  PRE-CREATION 
   src/test/java/org/apache/aurora/scheduler/async/preemptor/TestUtil.java 
 PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/31821/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-09 Thread Maxim Khutornenko


 On March 9, 2015, 6:59 p.m., Zameer Manji wrote:
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java,
   line 135
  https://reviews.apache.org/r/31821/diff/1/?file=888148#file888148line135
 
  To keep the implementation package private, could you move it to 
  another file?

It has to be public for the benchmark code. This will hopefully get dropped 
with the TODO I left there to DRY module usage.


- Maxim


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


On March 7, 2015, 1:36 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31821/
 ---
 
 (Updated March 7, 2015, 1:36 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Extracting PreemptorSlotFinder to be reused for slot validation in later 
 stages. The changes are very minimal and mostly around metric handling and 
 test code.
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 701b9052696337766cb233c865cb9fbb4907071e 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 e093ca54521ffb9399bb97ce60f510331af70853 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  PRE-CREATION 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 bddb9647493b3e7a58c40d4b477a06161c1388a2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 ae56d1e09322869eedd7a27586cd6f96edd64e0a 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  85b3874a36ed07c684f26da172952c932cff707a 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 58733bdc4dd6de29ccead5cb0a267286e8dc0656 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 891cc098cca99e84ba014b7131106ceb0b429b5f 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  83680769611878886da04e1794b321aa1986e678 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  020b67187a18bba64d9b562c3a6c0969fc85d469 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  PRE-CREATION 
   src/test/java/org/apache/aurora/scheduler/async/preemptor/TestUtil.java 
 PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/31821/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-09 Thread Maxim Khutornenko

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


@ReviewBot retry

- Maxim Khutornenko


On March 9, 2015, 11:34 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31821/
 ---
 
 (Updated March 9, 2015, 11:34 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Extracting PreemptorSlotFinder to be reused for slot validation in later 
 stages. The changes are very minimal and mostly around metric handling and 
 test code.
 
 Also added missing test coverage.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 701b9052696337766cb233c865cb9fbb4907071e 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 e093ca54521ffb9399bb97ce60f510331af70853 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictim.java
  80c2023f46b63753dcec6a555dba626720a1925a 
   src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
 bddb9647493b3e7a58c40d4b477a06161c1388a2 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
 ae56d1e09322869eedd7a27586cd6f96edd64e0a 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  85b3874a36ed07c684f26da172952c932cff707a 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 58733bdc4dd6de29ccead5cb0a267286e8dc0656 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 891cc098cca99e84ba014b7131106ceb0b429b5f 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/ClusterStateImplTest.java
  7207867813b0d096772dbc7f92fc1c76937e9831 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionVictimTest.java
  b0380b3fabb45be8ace55cfcf38ce15ef8040188 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  83680769611878886da04e1794b321aa1986e678 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
  020b67187a18bba64d9b562c3a6c0969fc85d469 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
  PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/31821/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Review Request 31821: Making preemptor asynchronous. Part 1 - extracting slot finder.

2015-03-06 Thread Maxim Khutornenko

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

Review request for Aurora, Bill Farner and Zameer Manji.


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


Repository: aurora


Description
---

Extracting PreemptorSlotFinder to be reused for slot validation in later 
stages. The changes are very minimal and mostly around metric handling and test 
code.

Also added missing test coverage.


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
701b9052696337766cb233c865cb9fbb4907071e 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
e093ca54521ffb9399bb97ce60f510331af70853 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
bddb9647493b3e7a58c40d4b477a06161c1388a2 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
ae56d1e09322869eedd7a27586cd6f96edd64e0a 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorMetrics.java 
PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
85b3874a36ed07c684f26da172952c932cff707a 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
58733bdc4dd6de29ccead5cb0a267286e8dc0656 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
891cc098cca99e84ba014b7131106ceb0b429b5f 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 83680769611878886da04e1794b321aa1986e678 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModuleTest.java
 020b67187a18bba64d9b562c3a6c0969fc85d469 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/async/preemptor/TestUtil.java 
PRE-CREATION 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31652: Returning pending reason for all tasks in a group

2015-03-05 Thread Maxim Khutornenko

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

(Updated March 5, 2015, 6:48 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Bill's comments.


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


Repository: aurora


Description
---

Modifying `Vetoed` event to broadcast `TaskGroupKey` instead of task ID and 
storing veto reasons by TaskGroupKey in NearestFit.

Depends on https://reviews.apache.org/r/31646/.


Diffs (updated)
-

  
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java 
edaf2f4f845544c13b2fb9bc77c34f6e6d96fb48 
  src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 
c103472b9404df1c690b3a6019d64d42e15f2fed 
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
  src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
53582c63ddee23e643bd4654cad2bef75dfba36d 
  src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 
13520eb5846022ed0b43b402096fe02565103aa9 
  
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java
 ab7817f929bbcc96a6046043ea17921a388fdb9f 
  src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
78a236c0f9074692b67ce18e6e03f18fe4529e02 
  
src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 
ce5a62650cebab9a53743460f5a5119f62efec1c 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31652: Returning pending reason for all tasks in a group

2015-03-05 Thread Maxim Khutornenko


 On March 3, 2015, 11:56 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java, line 237
  https://reviews.apache.org/r/31652/diff/1/?file=882474#file882474line237
 
  s/taskId/groupKey/

Good catch, fixed.


 On March 3, 2015, 11:56 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java, line 57
  https://reviews.apache.org/r/31652/diff/1/?file=882475#file882475line57
 
  Should this cache be renamed?

No preference here, renamed.


- Maxim


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


On March 3, 2015, 12:58 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31652/
 ---
 
 (Updated March 3, 2015, 12:58 a.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-911
 https://issues.apache.org/jira/browse/AURORA-911
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Modifying `Vetoed` event to broadcast `TaskGroupKey` instead of task ID and 
 storing veto reasons by TaskGroupKey in NearestFit.
 
 Depends on https://reviews.apache.org/r/31646/.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java
  edaf2f4f845544c13b2fb9bc77c34f6e6d96fb48 
   src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 
 c103472b9404df1c690b3a6019d64d42e15f2fed 
   src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
 c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
   src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
 53582c63ddee23e643bd4654cad2bef75dfba36d 
   src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 
 13520eb5846022ed0b43b402096fe02565103aa9 
   
 src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java
  ab7817f929bbcc96a6046043ea17921a388fdb9f 
   src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
 78a236c0f9074692b67ce18e6e03f18fe4529e02 
   
 src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
  ce5a62650cebab9a53743460f5a5119f62efec1c 
 
 Diff: https://reviews.apache.org/r/31652/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31646: Moving GroupKey to scheduler.base.

2015-03-05 Thread Maxim Khutornenko


 On March 3, 2015, 11:54 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/base/TaskGroupKey.java, line 23
  https://reviews.apache.org/r/31646/diff/1/?file=882425#file882425line23
 
  s/Identifying/Identifer for/
  
  It's not until reading this diff that i wonder why 
  TaskGroupKey/GroupKey even exists.  The best justification i have is 
  separation of concerns from how a task is configured and how it is 
  identified.  If you agree, it would be nice to document that here.

Done.


 On March 3, 2015, 11:54 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/base/TaskGroupKey.java, line 38
  https://reviews.apache.org/r/31646/diff/1/?file=882425#file882425line38
 
  Why the proxy method to the constructor?

To highlight the immutable final purpose of its existence.


- Maxim


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


On March 3, 2015, 12:07 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31646/
 ---
 
 (Updated March 3, 2015, 12:07 a.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Bugs: AURORA-911
 https://issues.apache.org/jira/browse/AURORA-911
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Simple IDE-driven refactoring in preparation for the AURORA-911 fix.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 7d3713972f1df54da4c8cbaae0fca59a8a6f3d77 
   src/main/java/org/apache/aurora/scheduler/async/TaskGroup.java 
 e5067e18af7c477d2927d83eacec063f3dec575a 
   src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 
 8cd6c966c9aca2e869311787fb5d5caba7439d3e 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
   src/main/java/org/apache/aurora/scheduler/base/TaskGroupKey.java 
 PRE-CREATION 
   src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
 0cbc71d50612323aa4d8acc33e74b879c0a76aff 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 4ee13c8e5d46ba863f4d9871884c7d494d07758d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 87bc531d2a72f21c36ddd0c1bd3b2367826cc422 
 
 Diff: https://reviews.apache.org/r/31646/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Review Request 31739: Making task preemption asynchronous.

2015-03-04 Thread Maxim Khutornenko

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

Review request for Aurora, Bill Farner and Zameer Manji.


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


Repository: aurora


Description
---

Reservations are now happen asynchronously with a configurable delay between a 
failed task scheduling and a preemption attempt.

Added a new `PreemptorBenchmark` to measure preemption perf as it now happens 
off the main scheduling loop and thus unreachable by earlier benchmarks.

Benchmark results are unsurprisingly great. The biggest winner is the 
PreemptorFallbackForLargeClusterBenchmark (now 
ClusterFullUtilizationBenchmark). Without the preemptor fallback and thanks to 
static veto offer filtering it's now 99.995% faster :) 

The lowest gain is for the limit constraint benchmark. It's the only dynamic 
veto type and thus is not subjected to offer filtering. Still ~82% improvement 
is nothing to complain about.

Before:
Benchmark 
Mode  Cnt ScoreError  Units
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  100781243.004 ±   9308.450  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   1205278.826 ±  19800.452  ns/op
SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark   
avgt  100  77048458.974 ± 918593.702  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100769919.326 ±  18963.264  ns/op


After:
Benchmark 
Mode  CntScoreError  Units
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  10028117.603 ±243.556  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   348667.808 ±   2956.521  ns/op
SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
avgt  100 3978.828 ±351.186  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  10026096.782 ±412.138  ns/op
SchedulingBenchmarks.PreemptorBenchmark.runBenchmark  
avgt  100  6054216.773 ± 105428.318  ns/op


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
3239eaa139e35e8c3acdacf6375f492de2b5bfee 
  src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
e87dda47a355654c66f6f54fb25a4d9a7f68422d 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
4ee13c8e5d46ba863f4d9871884c7d494d07758d 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
87bc531d2a72f21c36ddd0c1bd3b2367826cc422 

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


Testing
---

./gradlew -Pq build
Manual testing in vagrant.


Thanks,

Maxim Khutornenko



Re: Review Request 31739: Making task preemption asynchronous.

2015-03-04 Thread Maxim Khutornenko

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

(Updated March 4, 2015, 7:30 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


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


Repository: aurora


Description (updated)
---

Reservations now happen asynchronously with a configurable delay between a 
failed task scheduling and a preemption attempt.

Added a new `PreemptorBenchmark` to measure preemption perf as it now happens 
off the main scheduling loop and thus unreachable by earlier benchmarks.

Benchmark results are unsurprisingly great. The biggest winner is the 
PreemptorFallbackForLargeClusterBenchmark (now 
ClusterFullUtilizationBenchmark). Without the preemptor fallback and thanks to 
static veto offer filtering it's now 99.995% faster :) 

The lowest gain is for the limit constraint benchmark. It's the only dynamic 
veto type and thus is not subjected to offer filtering. Still ~71% improvement 
is nothing to complain about.

Before:
Benchmark 
Mode  Cnt ScoreError  Units
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  100781243.004 ±   9308.450  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   1205278.826 ±  19800.452  ns/op
SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark   
avgt  100  77048458.974 ± 918593.702  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100769919.326 ±  18963.264  ns/op


After:
Benchmark 
Mode  CntScoreError  Units
SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
avgt  10028117.603 ±243.556  ns/op
SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  100   348667.808 ±   2956.521  ns/op
SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
avgt  100 3978.828 ±351.186  ns/op
SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
avgt  10026096.782 ±412.138  ns/op
SchedulingBenchmarks.PreemptorBenchmark.runBenchmark  
avgt  100  6054216.773 ± 105428.318  ns/op

Perf gain summary:
InsufficientResourcesSchedulingBenchmark - 96.4%
LimitConstraintMismatchSchedulingBenchmark   - 71%
PreemptorFallbackForLargeClusterBenchmark- 99.995%
ValueConstraintMismatchSchedulingBenchmark   - 96.6%


Diffs
-

  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
3239eaa139e35e8c3acdacf6375f492de2b5bfee 
  src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
e87dda47a355654c66f6f54fb25a4d9a7f68422d 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
4ee13c8e5d46ba863f4d9871884c7d494d07758d 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
87bc531d2a72f21c36ddd0c1bd3b2367826cc422 

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


Testing
---

./gradlew -Pq build
Manual testing in vagrant.


Thanks,

Maxim Khutornenko



Review Request 31751: Adding missing service binding into UpdaterModule.

2015-03-04 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


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


Repository: aurora


Description
---

Adding missing binding and a e2e test.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/updater/UpdaterModule.java 
5733da3daeacd8cb726310e5d9933635e3993687 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
216849145fe681d05ed54ac7fbf385bb31d8cdea 

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


Testing
---

./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh


Thanks,

Maxim Khutornenko



Re: Review Request 31751: Adding missing service binding into UpdaterModule.

2015-03-04 Thread Maxim Khutornenko


 On March 5, 2015, 1:01 a.m., Bill Farner wrote:
  It would be great to have coverage for this within the scheduler's tests.  
  `JobUpdaterIT` already consumes `UpdaterModule`, pehaps this fix could be 
  proven there?

AFAICT, to truly test that binding would require wiring up the SchedulerModule 
and all its dependent modules to simulate a DriverRegistered event. That would 
trigger SchedulerLifecycle handleRegistered() and all services annotated with 
@SchedulerActive. IMO, not worth the increased test complexity.


 On March 5, 2015, 1:01 a.m., Bill Farner wrote:
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh, line 169
  https://reviews.apache.org/r/31751/diff/1/?file=885238#file885238line169
 
  Any reason you chose `stop` and `start` over `restart`?

Did not notice restart command. Changed.


- Maxim


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


On March 5, 2015, 12:48 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31751/
 ---
 
 (Updated March 5, 2015, 12:48 a.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Bugs: AURORA-1173
 https://issues.apache.org/jira/browse/AURORA-1173
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding missing binding and a e2e test.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/updater/UpdaterModule.java 
 5733da3daeacd8cb726310e5d9933635e3993687 
   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
 216849145fe681d05ed54ac7fbf385bb31d8cdea 
 
 Diff: https://reviews.apache.org/r/31751/diff/
 
 
 Testing
 ---
 
 ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31739: Making task preemption asynchronous.

2015-03-04 Thread Maxim Khutornenko


 On March 4, 2015, 10:25 p.m., Stephan Erb wrote:
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java, line 269
  https://reviews.apache.org/r/31739/diff/1/?file=884469#file884469line269
 
  Is this the same single threaded scheduler used for ordinary 
  scheduling? (Otherwise I would expect races)

Yes, it is.


 On March 4, 2015, 10:25 p.m., Stephan Erb wrote:
  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java, line 331
  https://reviews.apache.org/r/31739/diff/1/?file=884467#file884467line331
 
  By only using one task per host we don't benchmark the costly O(tasks 
  per slave) candidate search.
  
  The latter can probably be improved significantly, I therefore think it 
  is wise to extend the benchmark accordingly.

This line is actually referring to a benchmark tester task rather than 
preemption candidates, which are populated in the base `buildClusterTasks()`. 
However, you are correct about one task per slave observation. We could 
potentially add a multiple tasks per slave preemption benchmark but we should 
probably do so when we try to optimize the preemptor algorithm itself.


- Maxim


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


On March 4, 2015, 7:30 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31739/
 ---
 
 (Updated March 4, 2015, 7:30 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Reservations now happen asynchronously with a configurable delay between a 
 failed task scheduling and a preemption attempt.
 
 Added a new `PreemptorBenchmark` to measure preemption perf as it now happens 
 off the main scheduling loop and thus unreachable by earlier benchmarks.
 
 Benchmark results are unsurprisingly great. The biggest winner is the 
 PreemptorFallbackForLargeClusterBenchmark (now 
 ClusterFullUtilizationBenchmark). Without the preemptor fallback and thanks 
 to static veto offer filtering it's now 99.995% faster :) 
 
 The lowest gain is for the limit constraint benchmark. It's the only dynamic 
 veto type and thus is not subjected to offer filtering. Still ~71% 
 improvement is nothing to complain about.
 
 Before:
 Benchmark 
 Mode  Cnt ScoreError  Units
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
 avgt  100781243.004 ±   9308.450  ns/op
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100   1205278.826 ±  19800.452  ns/op
 SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark   
 avgt  100  77048458.974 ± 918593.702  ns/op
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100769919.326 ±  18963.264  ns/op
 
 
 After:
 Benchmark 
 Mode  CntScoreError  Units
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
 avgt  10028117.603 ±243.556  ns/op
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100   348667.808 ±   2956.521  ns/op
 SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
 avgt  100 3978.828 ±351.186  ns/op
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  10026096.782 ±412.138  ns/op
 SchedulingBenchmarks.PreemptorBenchmark.runBenchmark  
 avgt  100  6054216.773 ± 105428.318  ns/op
 
 Perf gain summary:
 InsufficientResourcesSchedulingBenchmark - 96.4%
 LimitConstraintMismatchSchedulingBenchmark   - 71%
 PreemptorFallbackForLargeClusterBenchmark- 99.995%
 ValueConstraintMismatchSchedulingBenchmark   - 96.6%
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 3239eaa139e35e8c3acdacf6375f492de2b5bfee 
   src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
 e87dda47a355654c66f6f54fb25a4d9a7f68422d 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 4ee13c8e5d46ba863f4d9871884c7d494d07758d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 87bc531d2a72f21c36ddd0c1bd3b2367826cc422 
 
 Diff: https://reviews.apache.org/r/31739/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 Manual testing

Re: Review Request 31739: Making task preemption asynchronous.

2015-03-04 Thread Maxim Khutornenko


 On March 4, 2015, 8:17 p.m., Bill Farner wrote:
  Is there a reason you did not opt to implement this behind the `Preemptor` 
  interface?  Seems like if you went with that approach, `TaskScheduler` can 
  be oblivious to the background operations.
 
 Maxim Khutornenko wrote:
 Trying to keep things simple. Moving it behind `Preemptor` would require 
 sharing `Reservations` (or some equivalent feedback notificaiton) between 
 TaskScheduler and Preemptor.
 
 Bill Farner wrote:
 I don't see why the data structure would need to be shared.  On one call 
 you could asynchronously kick off the work, and a subsequent call could 
 report back the result of the previous.
 
 Maxim Khutornenko wrote:
 Perhaps I am missing the point but how does it correlate with 
 TaskScheduler can be oblivious to the background operations? If there is no 
 immediate response back from the preemptor what is responsible for getting 
 the reservation data and when? Where does that reservation data live in this 
 case?

Chatted with Bill offline and we agreed that we should start moving towards a 
standalone (background worker) preemptor. That would require moving async 
decision making into the preemptor itself. I am going to discard this RB and 
start working towards what benefits us longer term.


- Maxim


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


On March 4, 2015, 7:30 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31739/
 ---
 
 (Updated March 4, 2015, 7:30 p.m.)
 
 
 Review request for Aurora, Bill Farner and Zameer Manji.
 
 
 Bugs: AURORA-1158
 https://issues.apache.org/jira/browse/AURORA-1158
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Reservations now happen asynchronously with a configurable delay between a 
 failed task scheduling and a preemption attempt.
 
 Added a new `PreemptorBenchmark` to measure preemption perf as it now happens 
 off the main scheduling loop and thus unreachable by earlier benchmarks.
 
 Benchmark results are unsurprisingly great. The biggest winner is the 
 PreemptorFallbackForLargeClusterBenchmark (now 
 ClusterFullUtilizationBenchmark). Without the preemptor fallback and thanks 
 to static veto offer filtering it's now 99.995% faster :) 
 
 The lowest gain is for the limit constraint benchmark. It's the only dynamic 
 veto type and thus is not subjected to offer filtering. Still ~71% 
 improvement is nothing to complain about.
 
 Before:
 Benchmark 
 Mode  Cnt ScoreError  Units
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
 avgt  100781243.004 ±   9308.450  ns/op
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100   1205278.826 ±  19800.452  ns/op
 SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark   
 avgt  100  77048458.974 ± 918593.702  ns/op
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100769919.326 ±  18963.264  ns/op
 
 
 After:
 Benchmark 
 Mode  CntScoreError  Units
 SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
 avgt  10028117.603 ±243.556  ns/op
 SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  100   348667.808 ±   2956.521  ns/op
 SchedulingBenchmarks.ClusterFullUtilizationBenchmark.runBenchmark 
 avgt  100 3978.828 ±351.186  ns/op
 SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark  
 avgt  10026096.782 ±412.138  ns/op
 SchedulingBenchmarks.PreemptorBenchmark.runBenchmark  
 avgt  100  6054216.773 ± 105428.318  ns/op
 
 Perf gain summary:
 InsufficientResourcesSchedulingBenchmark - 96.4%
 LimitConstraintMismatchSchedulingBenchmark   - 71%
 PreemptorFallbackForLargeClusterBenchmark- 99.995%
 ValueConstraintMismatchSchedulingBenchmark   - 96.6%
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 3239eaa139e35e8c3acdacf6375f492de2b5bfee 
   src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java 
 e87dda47a355654c66f6f54fb25a4d9a7f68422d 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 4ee13c8e5d46ba863f4d9871884c7d494d07758d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java

Re: Review Request 31659: Clean up end-to-end tests.

2015-03-03 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On March 3, 2015, 8:53 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31659/
 ---
 
 (Updated March 3, 2015, 8:53 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Major changes:
 - applying DRY by not invoking everything via `vagrant ssh` (making tests 
 easier to write and much faster to run)
 - pulled 'test cases' into individual functions
 - simplified (maybe?) setup for tests using SSH
 
 This is being done in preparation for AURORA-1157.
 
 
 Diffs
 -
 
   src/test/sh/org/apache/aurora/e2e/http/http_example.aurora 
 0f6423521ad2c85032b4825a5b9793dc522a3b70 
   src/test/sh/org/apache/aurora/e2e/http/http_example_docker.aurora 
 00fa2fb6c272fe01700c4696f92713f11d62230b 
   src/test/sh/org/apache/aurora/e2e/http/http_example_docker_updated.aurora 
 d987d637da4061cd7946074243daabee4b9a150f 
   src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora 
 072bbb76707e6696815509f21d50b6b5446241b3 
   src/test/sh/org/apache/aurora/e2e/test_common.sh 
 b621975bab6f8bbf193e61360654e34337e36943 
   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
 1d599c3f71b7e07c1cb8bee01a4d3b5cfcf92631 
   src/test/sh/org/apache/aurora/e2e/test_run.sh 
 ab91b95a60f7b459b95dc7e13a29692badca5ff7 
 
 Diff: https://reviews.apache.org/r/31659/diff/
 
 
 Testing
 ---
 
 Ran the script.
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31710: Fix query and timestamp display when running beta-update status.

2015-03-03 Thread Maxim Khutornenko

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

Ship it!



src/main/python/apache/aurora/client/cli/update.py
https://reviews.apache.org/r/31710/#comment122025

You may want to extract an internal method to do this, e.g.:
```
def timestamp(time_msec):
  return time.ctime(time_msec / 1000)
```


- Maxim Khutornenko


On March 3, 2015, 11:44 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31710/
 ---
 
 (Updated March 3, 2015, 11:44 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Bugs: AURORA-1165 and AURORA-1166
 https://issues.apache.org/jira/browse/AURORA-1165
 https://issues.apache.org/jira/browse/AURORA-1166
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Discovered these while working on AURORA-1157
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/cli/update.py 
 ee8146be0cb6e3f3139a5491c883864950f245bd 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 1173650998d397a68a7fabf38201fb9feebf2977 
 
 Diff: https://reviews.apache.org/r/31710/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Review Request 31652: Returning pending reason for all tasks in a group

2015-03-02 Thread Maxim Khutornenko

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

Review request for Aurora, Bill Farner and Zameer Manji.


Repository: aurora


Description
---

Modifying `Vetoed` event to broadcast `TaskGroupKey` instead of task ID and 
storing veto reasons by TaskGroupKey in NearestFit.

Depends on https://reviews.apache.org/r/31646/.


Diffs
-

  
src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java 
edaf2f4f845544c13b2fb9bc77c34f6e6d96fb48 
  src/main/java/org/apache/aurora/scheduler/events/PubsubEvent.java 
c103472b9404df1c690b3a6019d64d42e15f2fed 
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
  src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
53582c63ddee23e643bd4654cad2bef75dfba36d 
  src/test/java/org/apache/aurora/scheduler/TaskVarsTest.java 
13520eb5846022ed0b43b402096fe02565103aa9 
  
src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java
 ab7817f929bbcc96a6046043ea17921a388fdb9f 
  src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
78a236c0f9074692b67ce18e6e03f18fe4529e02 
  
src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 
ce5a62650cebab9a53743460f5a5119f62efec1c 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31525: Improving NearestFit reporting accuracy.

2015-03-02 Thread Maxim Khutornenko

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

(Updated March 2, 2015, 11:40 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Updating ticket number


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


Repository: aurora


Description
---

Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
relative weight (severity) with a dedicated constraint mismatch ranked higest 
and an insufficient resource mismatch - lowest. Together with break early 
rule in SchedulingFilter, this ensures heavier vetoes are given proper 
attention in the NearestFit. This simplifies `NearestFit` logic while also 
improving pending reason reporting accuracy and scheduling performance.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
a020ce50d578fba7f32b370f448a49eb1c284147 
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
  
src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java 
b00668423a53a8cf6f4da3456bce3354f1fd2424 
  src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
78a236c0f9074692b67ce18e6e03f18fe4529e02 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Review Request 31646: Moving GroupKey to scheduler.base.

2015-03-02 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


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


Repository: aurora


Description
---

Simple IDE-driven refactoring in preparation for the AURORA-911 fix.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
7d3713972f1df54da4c8cbaae0fca59a8a6f3d77 
  src/main/java/org/apache/aurora/scheduler/async/TaskGroup.java 
e5067e18af7c477d2927d83eacec063f3dec575a 
  src/main/java/org/apache/aurora/scheduler/async/TaskGroups.java 
8cd6c966c9aca2e869311787fb5d5caba7439d3e 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
d0fe3e133cbec2418f31160bf8ab8adaa45bb958 
  src/main/java/org/apache/aurora/scheduler/base/TaskGroupKey.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
0cbc71d50612323aa4d8acc33e74b879c0a76aff 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
4ee13c8e5d46ba863f4d9871884c7d494d07758d 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
87bc531d2a72f21c36ddd0c1bd3b2367826cc422 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31525: Improving NearestFit reporting accuracy.

2015-03-02 Thread Maxim Khutornenko


 On March 2, 2015, 7:40 p.m., Bill Farner wrote:
  Can you elaborate on how this change would have addressed this scenario 
  described in AURORA-1148?  Seems like the confusion of only seeing 
  'Insufficient RAM' is not resolved by this change alone.

Correct, it's an incremental quality improvement rather than a comprehensive 
fix (which I am not even sure is possible given our current NearestFit 
approach). The idea is to NOT emit lower score (aka better fit) vetoes until 
the higher score vetoes are dismissed. Here is the most likely execution 
sequence in AURORA-1148 case:
1. non-decicated hosts are filtered out (veto reason: dedicated constraint 
mismatch)
2. dedicated hosts are evaluated wrt diversity constraints (veto reason: host 
limit constraint mismatch)
3. dedicated host resources are evaluated (veto reason: insufficient 
RAM/CPU/DISK)

Given that every VetoType triggered short-circuits further veto analysis, users 
would *more* likely see a host limit constraint. 

What this change does not solve is that in case there are some offers 
satisfying diversity analysis they would pollute veto reason with 
Insufficient resource veto thus humpering investigation. Given our current 10 
minute veto reason expiration and default offer hold time (5 minutes), users 
would likely see pending reason occasionally flipping from host limit 
mismatch to insufficient resource.


- Maxim


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


On Feb. 27, 2015, 9:05 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31525/
 ---
 
 (Updated Feb. 27, 2015, 9:05 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-1148
 https://issues.apache.org/jira/browse/AURORA-1148
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
 relative weight (severity) with a dedicated constraint mismatch ranked higest 
 and an insufficient resource mismatch - lowest. Together with break early 
 rule in SchedulingFilter, this ensures heavier vetoes are given proper 
 attention in the NearestFit. This simplifies `NearestFit` logic while also 
 improving pending reason reporting accuracy and scheduling performance.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
 3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
 a020ce50d578fba7f32b370f448a49eb1c284147 
   src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
 c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
   
 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java
  b00668423a53a8cf6f4da3456bce3354f1fd2424 
   src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
 78a236c0f9074692b67ce18e6e03f18fe4529e02 
 
 Diff: https://reviews.apache.org/r/31525/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31525: Improving NearestFit reporting accuracy.

2015-03-02 Thread Maxim Khutornenko


 On March 2, 2015, 7:14 p.m., Kevin Sweeney wrote:
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java, 
  line 64
  https://reviews.apache.org/r/31525/diff/2/?file=880724#file880724line64
 
  I don't think the Math.pow approach is necessary - why not make score 
  an EnumMapVetoType, Integer (or just an EnumSetVetoType). A veto 
  increments the counter in the bucket for its type (or sets the bit for it). 
  Still very efficient and more type-safe.

Not sure I understand the proposal. The score buckets, as currently defined, 
flatten out the VetoType hierarchy via non-intersecting int ranges. This 
abstracts out the internal VetoType relationship and simplifies the consuming 
side (NearestFit). The sum of all previous level veto scores should never 
exceed the next level score. I don't see how we can get by with 
EnumSetVetoType here without making NearestFit aware of VetoType hierarchy.


- Maxim


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


On Feb. 27, 2015, 9:05 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31525/
 ---
 
 (Updated Feb. 27, 2015, 9:05 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-1148
 https://issues.apache.org/jira/browse/AURORA-1148
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
 relative weight (severity) with a dedicated constraint mismatch ranked higest 
 and an insufficient resource mismatch - lowest. Together with break early 
 rule in SchedulingFilter, this ensures heavier vetoes are given proper 
 attention in the NearestFit. This simplifies `NearestFit` logic while also 
 improving pending reason reporting accuracy and scheduling performance.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
 3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
 a020ce50d578fba7f32b370f448a49eb1c284147 
   src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
 c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
   
 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java
  b00668423a53a8cf6f4da3456bce3354f1fd2424 
   src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
 78a236c0f9074692b67ce18e6e03f18fe4529e02 
 
 Diff: https://reviews.apache.org/r/31525/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 31570: Suppressing duplicate update instance events.

2015-02-27 Thread Maxim Khutornenko

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


@ReviewBot retry

- Maxim Khutornenko


On Feb. 28, 2015, 1:37 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31570/
 ---
 
 (Updated Feb. 28, 2015, 1:37 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Bill Farner.
 
 
 Bugs: AURORA-1097
 https://issues.apache.org/jira/browse/AURORA-1097
 
 
 Repository: aurora
 
 
 Description
 ---
 
 All instance update actions are supposed to be unique. Suppressing duplicats 
 due to pause/resume cycle.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  acdade3dca807a221b4da975d0310c91884ee752 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 e24d6bde5f3479a75522e825cce4ec6c30c117aa 
 
 Diff: https://reviews.apache.org/r/31570/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 Manual testing in vagrant.
 
 
 Thanks,
 
 Maxim Khutornenko
 




Review Request 31570: Suppressing duplicate update instance events.

2015-02-27 Thread Maxim Khutornenko

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

Review request for Aurora, David McLaughlin and Bill Farner.


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


Repository: aurora


Description
---

All instance update actions are supposed to be unique. Suppressing duplicats 
due to pause/resume cycle.


Diffs
-

  
src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java 
acdade3dca807a221b4da975d0310c91884ee752 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
e24d6bde5f3479a75522e825cce4ec6c30c117aa 

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


Testing
---

./gradlew -Pq build
Manual testing in vagrant.


Thanks,

Maxim Khutornenko



Re: Review Request 31388: Update thrift API and internal code to use JobUpdateSummary.key rather than job key and id.

2015-02-27 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On Feb. 27, 2015, 4:49 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31388/
 ---
 
 (Updated Feb. 27, 2015, 4:49 p.m.)
 
 
 Review request for Aurora, Joshua Cohen and Bill Farner.
 
 
 Bugs: AURORA-1093
 https://issues.apache.org/jira/browse/AURORA-1093
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Update thrift API and internal code to use JobUpdateSummary.key rather than 
 job key and id.
 
 Note: This change will leave the client in a broken state w.r.t. the 
 scheduler.  I will hold commiting this change until i have another review 
 ready to go that updates the client.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 6a00ce2c30ce24851560c4d499c395194dbeed16 
   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 
 8444d225e91c75e9a571049d28af7264b6d2d017 
   src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java 
 6ade817284b4c0607fe1ff09ad61ea47768f7297 
   src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java 
 4b8b00cc74d81aa5cc772a7b4e077da6a4ed2a83 
   src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java 
 d52c15e0a7083e0d02bbf6dbaa58d8956bc5dd6f 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
 06de5384182f84f973a28e312c0dc4329f593dad 
   src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
 b9dce16fa705fc14b5af394f8edb6301c789aff4 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  56398f33206cfa1fa45601a21760c7e23e2616bf 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  d1bd3c975b2057b46597f38555c2a73d14835600 
   src/main/java/org/apache/aurora/scheduler/updater/Updates.java 
 b8c919585307e27f154782ee179153165458bed7 
   src/main/python/apache/aurora/client/api/__init__.py 
 07d1b1c5405b1329a15e8900b07c2a3dba6c592f 
   src/main/python/apache/aurora/client/cli/context.py 
 ea64010ab20c1292fb3fd1f5eb71394b7c965743 
   src/main/python/apache/aurora/client/cli/update.py 
 bfa7a27c4e283b981a4ce37d382aa117a0074ee1 
   
 src/main/resources/org/apache/aurora/scheduler/storage/db/JobUpdateDetailsMapper.xml
  c08f09a511e1fc631abdae50630b8b7ab10a440b 
   src/main/resources/org/apache/aurora/scheduler/storage/db/schema.sql 
 e6184dd2de0e86849d811ec05c168bbb4db8e8cd 
   src/main/resources/scheduler/assets/breadcrumb.html 
 b5f82ca120d3b76b63a61628437525cec8870015 
   src/main/resources/scheduler/assets/job.html 
 4a00a8863d676f168fbfce9f45ec4bad0244199f 
   src/main/resources/scheduler/assets/js/controllers.js 
 092e7d5df2121f45f99f5a788187d52bebb7e5dd 
   src/main/resources/scheduler/assets/js/services.js 
 87eef8c689ac2c2e8b6aae5c91ba7b0e3b353efd 
   src/main/resources/scheduler/assets/latestUpdates.html 
 9844edadbdea1c123b1c0afea87dd94664f93f37 
   src/test/java/org/apache/aurora/scheduler/quota/QuotaManagerImplTest.java 
 b79b07c23e00fab524aef21481070c5f09c9fa18 
   
 src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java
  81c8be7685854c47ed4a7c6deeffb6a0b80023ab 
   
 src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
  e969b972806bef9aa67729c8a35283df6145e687 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  d36418807ace4f61e8709a2827cea0e7bb8ac6b7 
   src/test/java/org/apache/aurora/scheduler/thrift/aop/ForwardingThrift.java 
 2405bb8ad379e355a7987e9bb4163e1693f18777 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 3ba6274b97393ac2228d3eac8ba1615cb57014f8 
   src/test/python/apache/aurora/client/api/test_api.py 
 ff1aff2eac391f219bc7c2483a16e35f916a224c 
   src/test/python/apache/aurora/client/cli/test_status.py 
 1f39aa1c50a41e174804751b4cce25b96b6aebed 
   src/test/python/apache/aurora/client/cli/test_supdate.py 
 6413c0db20db5914c7b1537da2bbc6e110705dc2 
 
 Diff: https://reviews.apache.org/r/31388/diff/
 
 
 Testing
 ---
 
 Manually :-( verified javascript changes by performing an async update in 
 vagrant and viewing relevant pages.
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31508: Removing redundant scheduling loop in preemptor.

2015-02-27 Thread Maxim Khutornenko

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

(Updated Feb. 27, 2015, 8:23 p.m.)


Review request for Aurora, Bill Farner and Zameer Manji.


Changes
---

Rebased.


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


Repository: aurora


Description
---

This is #1 from the attached ticket. Brings anywhere between 2% and 18% better 
perf in bechmark scenarios.

BEFORE:
```
Benchmark   
Mode  Samples Score Error  Units
o.a.a.b.SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
  avgt  100909677.646 ±   10103.466  ns/op
o.a.a.b.SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark
avgt  100   1332768.205 ±   16664.386  ns/op
o.a.a.b.SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark
 avgt  100  69304405.590 ± 1536571.317  ns/op
o.a.a.b.SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark
avgt  100870348.707 ±   16815.495  ns/op
```

AFTER:
```
Benchmark   
Mode  Samples Score Error  Units
o.a.a.b.SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark
  avgt  100749864.522 ±6568.372  ns/op
o.a.a.b.SchedulingBenchmarks.LimitConstraintMismatchSchedulingBenchmark.runBenchmark
avgt  100   1125995.085 ±   19241.796  ns/op
o.a.a.b.SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark
 avgt  100  68028627.539 ± 1412569.919  ns/op
o.a.a.b.SchedulingBenchmarks.ValueConstraintMismatchSchedulingBenchmark.runBenchmark
avgt  100766747.584 ±   13310.142  ns/op
```


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImpl.java 
833a3e0b088780e21f5f16434327c96447a25115 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 2845b3f72fca5c329a8b81ce796370ad95d94f02 

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


Testing
---

./gradlew jmh


Thanks,

Maxim Khutornenko



Re: Review Request 31550: Add test coverage for MesosSchedulerImpl.

2015-02-27 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On Feb. 27, 2015, 6:30 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31550/
 ---
 
 (Updated Feb. 27, 2015, 6:30 p.m.)
 
 
 Review request for Aurora and Maxim Khutornenko.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This brings MesosSchedulerImpl to 100% line and branch coverage.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java 
 aa8aaad975bac513ce7734b4807a2f736b493e69 
   src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java 
 d621586abc8b0e20ffa6bd2c39aa92bd5512c3dd 
 
 Diff: https://reviews.apache.org/r/31550/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31525: Improving NearestFit reporting accuracy.

2015-02-27 Thread Maxim Khutornenko


 On Feb. 27, 2015, 7:30 p.m., Kevin Sweeney wrote:
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java, 
  lines 110-113
  https://reviews.apache.org/r/31525/diff/1/?file=879537#file879537line110
 
  How about making score an EnumSetVetoType so that you can do a 
  typesafe bitwise OR?

These scores did not match directly to VetoType. However, your comment got me 
thinking it's quite easy to fix that. Created a new 
DEDICATED_CONSTRAINT_MISMATCH and moved all scores definitions into the 
VetoType enum.


- Maxim


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


On Feb. 27, 2015, 3:19 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31525/
 ---
 
 (Updated Feb. 27, 2015, 3:19 a.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-1148
 https://issues.apache.org/jira/browse/AURORA-1148
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
 relative weight (severity) with a dedicated constraint mismatch ranked higest 
 and an insufficient resource mismatch - lowest. Together with break early 
 rule in SchedulingFilter, this ensures heavier vetoes are given proper 
 attention in the NearestFit. This simplifies `NearestFit` logic while also 
 improving pending reason reporting accuracy and scheduling performance.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
 3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
 a020ce50d578fba7f32b370f448a49eb1c284147 
   src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
 c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
   
 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java
  b00668423a53a8cf6f4da3456bce3354f1fd2424 
   src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
 78a236c0f9074692b67ce18e6e03f18fe4529e02 
 
 Diff: https://reviews.apache.org/r/31525/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Review Request 31493: Upgrading JMH plugin and framework versions.

2015-02-26 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

Updating jmh plugin to 0.2.0: 
https://github.com/melix/jmh-gradle-plugin/blob/master/CHANGELOG.txt

The most notable is the fix to support `jmhVersion` attribute that allowed to 
bump up jmh version from 1.3.2 to current 1.6.1.


JMH changelog: http://hg.openjdk.java.net/code-tools/jmh/

Among multiple improvements and stability fixes there is also 
https://bugs.openjdk.java.net/browse/CODETOOLS-7901127 fix that gets rid of:  
```
warning: Supported source version 'RELEASE_6' from annotation processor 
'org.openjdk.jmh.generators.BenchmarkProcessor' less than -source '1.7' 
```

Also, bumping up max heap size as some of bechmarks OOM occasionally (noticed 
peak usage of 600Mb).


Diffs
-

  build.gradle 158d47ac273e75deb8cb1460281c84e85db4f248 

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


Testing
---

./gradlew jmh


Thanks,

Maxim Khutornenko



Review Request 31525: Improving NearestFit reporting accuracy.

2015-02-26 Thread Maxim Khutornenko

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

Review request for Aurora, Kevin Sweeney and Bill Farner.


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


Repository: aurora


Description
---

Instead of relying on a fixed MAX_SCORE, vetoes are now graded by their 
relative weight (severity) with a dedicated constraint mismatch ranked higest 
and an insufficient resource mismatch - lowest. Together with break early 
rule in SchedulingFilter, this ensures heavier vetoes are given proper 
attention in the NearestFit. This simplifies `NearestFit` logic while also 
improving pending reason reporting accuracy and scheduling performance.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java 
3313bd2f9ed5a88375d88715dea5da1e9ad8b963 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 
a020ce50d578fba7f32b370f448a49eb1c284147 
  src/main/java/org/apache/aurora/scheduler/metadata/NearestFit.java 
c3097e49c0f6588ea765aa4fab69dd35e3d90e8b 
  
src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java 
b00668423a53a8cf6f4da3456bce3354f1fd2424 
  src/test/java/org/apache/aurora/scheduler/metadata/NearestFitTest.java 
78a236c0f9074692b67ce18e6e03f18fe4529e02 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31421: Handle TASK_ERROR and TASK_STAGING states.

2015-02-25 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On Feb. 25, 2015, 6:48 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31421/
 ---
 
 (Updated Feb. 25, 2015, 6:48 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
 
 
 Bugs: AURORA-1001
 https://issues.apache.org/jira/browse/AURORA-1001
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is only a stop-gap to make sure we are compatible with mesos 0.22.  See 
 ticket for more detail.
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/base/Conversions.java 
 7b7650d74e32d6396ab75a413380666d5000eac3 
   src/test/java/org/apache/aurora/scheduler/base/ConversionsTest.java 
 PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/31421/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31376: Introduce JobUpdateSummary.key field, dual write that field when it is read/received.

2015-02-24 Thread Maxim Khutornenko


 On Feb. 24, 2015, 8:54 p.m., Zameer Manji wrote:
  src/main/java/org/apache/aurora/scheduler/updater/Updates.java, line 57
  https://reviews.apache.org/r/31376/diff/1/?file=874378#file874378line57
 
  I don't think we should pass around any mutable state. I think data 
  objects like JobUpdateSummary should be immutable and the extra complextity 
  at call sites is worth the safety we get.

I agree wrt permanent changes outside of backfill logic. This, however, is a 
short-term migration hack that is not supposed to be used anywhere outside of 
backfilling.

Anyway, I am ok with the change. Just feels weird to go through all these hoops 
in this particular case.


- Maxim


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


On Feb. 24, 2015, 8:12 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31376/
 ---
 
 (Updated Feb. 24, 2015, 8:12 p.m.)
 
 
 Review request for Aurora, Maxim Khutornenko and Zameer Manji.
 
 
 Bugs: AURORA-1093
 https://issues.apache.org/jira/browse/AURORA-1093
 
 
 Repository: aurora
 
 
 Description
 ---
 
 There are 3 ways a JobUpdateSummary lands in storage:
 
 - starting a job update via thrift
 - replaying a log record to save a job update
 - replaying a snapshot log record
 
 This change focuses on ensuring that `JobUpdateSummary.key` is always 
 available for code that is currently relying on the legacy fields (`updateId` 
 and `jobKey`) by cloning them.
 
 A follow-up change will alter all code inside the scheduler to only consume 
 the new field (removing `Updates.getKey`).
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 6f6124a4c844a1abcf07401d80c3e50eb8b4 
   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 
 384e9b536c3ee3edf7d90960aa51ef98948af088 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
 27981393d700c84f6aaa791f12b24d0cec28b5df 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  3e491d999dc3f9e116d3502e4c08c04bd6c6bab9 
   src/main/java/org/apache/aurora/scheduler/updater/Updates.java 
 6493d687d00a1d285777ce3c3b5dd45cd08ceb71 
   
 src/main/resources/org/apache/aurora/scheduler/storage/db/JobUpdateDetailsMapper.xml
  7685597bb6acafe1412b23234227adb0eddad429 
   
 src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java
  f4c92e64c36fb0c000ab8e9199dfed2fc35dcb36 
   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 
 7e5d0edefbed3f67116361da15dd4c969c67cfe8 
   
 src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplTest.java
  152e70489b351b5bcf06f85baddbe31259d0aef4 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  945144dcb5240c3713d909344c82a9312cd3ba5c 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 2088a8f1be04218f2a5abc7fb4b04170b37ba2d1 
 
 Diff: https://reviews.apache.org/r/31376/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 30891: Offer filtering for static vetoes. Part 3 of 4: Offer filtering.

2015-02-24 Thread Maxim Khutornenko


 On Feb. 23, 2015, 10:52 p.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java, line 255
  https://reviews.apache.org/r/30891/diff/7/?file=873086#file873086line255
 
  s/may/will/?

Changed.


- Maxim


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


On Feb. 23, 2015, 8:36 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/30891/
 ---
 
 (Updated Feb. 23, 2015, 8:36 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-909
 https://issues.apache.org/jira/browse/AURORA-909
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Offer filtering for static vetoes. Part 3 of 4: Filtering out statically 
 banned offers.
 
 Will not apply cleanly: diffed with https://reviews.apache.org/r/30890 as a 
 parent.
 
 Original RB: https://reviews.apache.org/r/28617/
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 b241d7b22c3d1ceca127b2671eb608ae41283bf3 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 21ea7d2b9d2f8c76367d7ae985270402bb51ea26 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 5a0f7ddb7e8fa6869cbb0fdfd07c6881780c6917 
   src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
 7ee2bb9bec6c59ba67b65d5b1229c64aca1277ff 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 9eef52a333e09454e8fd0026371c7e64472a883d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 b6d4d8e771c7d16a46e43c7d5c427b911f8b661d 
 
 Diff: https://reviews.apache.org/r/30891/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 30891: Offer filtering for static vetoes. Part 3 of 4: Offer filtering.

2015-02-24 Thread Maxim Khutornenko


 On Feb. 24, 2015, 7:35 p.m., Kevin Sweeney wrote:
  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java, line 301
  https://reviews.apache.org/r/30891/diff/7/?file=873086#file873086line301
 
  No need to hold the intrinsic lock while logging here

Having an explicit lock will be inconsistent with the rest of this class and 
will add up to clutter. Given the on-demand logging here, I don't see much 
value in over-optimizing this logic.


 On Feb. 24, 2015, 7:35 p.m., Kevin Sweeney wrote:
  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java, line 317
  https://reviews.apache.org/r/30891/diff/7/?file=873086#file873086line317
 
  Same as above - no need to hold the intrinsic lock while logging here.

Same here.


 On Feb. 24, 2015, 7:35 p.m., Kevin Sweeney wrote:
  src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java, 
  line 78
  https://reviews.apache.org/r/30891/diff/7/?file=873089#file873089line78
 
  It would be good form to reset the level in the tearDown here.

Sure, done.


 On Feb. 24, 2015, 7:35 p.m., Kevin Sweeney wrote:
  src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java, line 119
  https://reviews.apache.org/r/30891/diff/3/?file=862800#file862800line119
 
  as written, a caller needs to know FAILURE and FAILURE_STATIC_MISMATCH 
  both mean failure, but it would be easy to just check for `== FAILURE` and 
  miss that in code reviews. Would it make sense to add `isFailure()` and 
  `isStaticMismatch()` here?
  
  Also, consider fetching the VetoGroup in the constructor so that 
  precondition checks will fail faster

as written, a caller needs to know FAILURE and FAILURE_STATIC_MISMATCH both 
mean failure, but it would be easy to just check for == FAILURE and miss that 
in code reviews. Would it make sense to add isFailure() and isStaticMismatch() 
here?

This would shift failure detection responsibility upstream and will open up for 
invalid combinations like isFailure=False  isStaticMismatch=True. I believe 
enum-based approach is the more accurate and easier to reason solution in this 
case.

Also, consider fetching the VetoGroup in the constructor so that precondition 
checks will fail faster

`Veto.identifyGroup` does not provide any additional error handling. It's 
already failing fast as the only way to create an instance with vetoes is 
through this:
```
 public static Assignment failure(SetVeto vetoes) {
   return new Assignment(NO_TASK_INFO, MorePreconditions.checkNotBlank(vetoes));
 }
```


- Maxim


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


On Feb. 23, 2015, 8:36 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/30891/
 ---
 
 (Updated Feb. 23, 2015, 8:36 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-909
 https://issues.apache.org/jira/browse/AURORA-909
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Offer filtering for static vetoes. Part 3 of 4: Filtering out statically 
 banned offers.
 
 Will not apply cleanly: diffed with https://reviews.apache.org/r/30890 as a 
 parent.
 
 Original RB: https://reviews.apache.org/r/28617/
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 b241d7b22c3d1ceca127b2671eb608ae41283bf3 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 21ea7d2b9d2f8c76367d7ae985270402bb51ea26 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 5a0f7ddb7e8fa6869cbb0fdfd07c6881780c6917 
   src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
 7ee2bb9bec6c59ba67b65d5b1229c64aca1277ff 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 9eef52a333e09454e8fd0026371c7e64472a883d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 b6d4d8e771c7d16a46e43c7d5c427b911f8b661d 
 
 Diff: https://reviews.apache.org/r/30891/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 29943: Uptime-driven scheduler job updates

2015-02-24 Thread Maxim Khutornenko


 On Feb. 24, 2015, 7:30 p.m., Kevin Sweeney wrote:
  Is this ready for review now?

It is. However, since AURORA-1041 is still in Open I am going to discard it and 
repost when the ticket moves into Accepted.


- Maxim


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


On Jan. 20, 2015, 9:12 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/29943/
 ---
 
 (Updated Jan. 20, 2015, 9:12 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-1041
 https://issues.apache.org/jira/browse/AURORA-1041
 
 
 Repository: aurora
 
 
 Description
 ---
 
 This is the first take on implementing job uptime driven updates. In addition 
 to the olde good batch_size, instances can now be dispatched in arbitrary 
 sequence depending on the overall uptime (health) of the job. 
 
 The uptime is specified by a tuple of **waitForUptimeMs** and 
 **waitForUptimePercentInstances** values. An excerpt from api.thrift 
 explaining the feature:
 ```
 /**
* The uptime-driven update throttles the number of instances being updated 
 at any given moment
* according to the job uptime calculations. The X% of instances up over Y 
 interval invariant
* is preserved over the entire job update lifetime. No new instances are 
 dispatched for update
* unless that invariant is satisfied. Instances are dispatched in their 
 natural uptime order,
* shortest uptime first.
*
* For example, when set as below the update will block until at least 90% 
 of job instances are in
* RUNNING state for at least 1 minute:
*waitForUptimeMs = 6
*waitForUptimePercentInstances = 90
*
* When using uptime-driven update, it's expected that updateGroupSize is 
 left unset to allow job
* uptime settings drive the update progress. However, if updateGroupSize 
 is set it will be
* pre-applied before SLA uptime calculations to determine the update 
 working set. As a side
* effect, the updateGroupSize results in a natural ordering of instances 
 taken for each group
* (instances within a group are still updated in a shortest uptime first 
 order).
*
* For example, if set as below the number of instances being updated at 
 any given moment will
* never exceed 5 even though the uptime calculations may allow more than 5:
*updateGroupSize = 5
*waitForUptimeMs = 6
*waitForUptimePercentInstances = 90
*
* NOTE on update rollback: with the uptime-driven update, there is no 
 reliable way to ensure a
* graceful throttled rollback as unstable/flapping instances may never 
 yield an acceptable uptime
* to perform an uptime-coordinated rollback. As such, when 
 rollbackOnFailure=True AND the
* updateGroupSize=0 the updater will dispatch all affected instances at 
 once.
* Use rollbackOnFailure=True with caution for uptime-driven updates.
*/
 ```
 
 For reviewers: recommend starting with api.thrift and then proceeding to the 
 InstanceUptimeStrategy.java that implements the core algo.
 
 TODO: 
 - vagrant e2e test
 - more corner case unit test coverage in JobUpdaterIT
 - client warning message in case uptime specs are used with client updater
 - docs
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 08ba1cdf88b712de22c26c04443079282db59ef9 
   src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java 
 eae79d59b445ea58f46dc9e3107c03fbd83b6a95 
   src/main/java/org/apache/aurora/scheduler/sla/SlaUtil.java 
 156b9c0a2fa0c0ec4b7220d5ec2cc40c3e59d1d6 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  ac92959f34a3b0962d6aa018dc82a5ac72ea1b34 
   
 src/main/java/org/apache/aurora/scheduler/updater/InstanceUptimeProviderImpl.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  a992938d4e12b20f81608be6bbdc24c0a211c3fd 
   src/main/java/org/apache/aurora/scheduler/updater/OneWayJobUpdater.java 
 27a5b9026f5ac3b3bdeb32813b10435bc3dab173 
   src/main/java/org/apache/aurora/scheduler/updater/UpdateFactory.java 
 b53086169aa53d27a39a01cadf8d3c4a8ecb68de 
   src/main/java/org/apache/aurora/scheduler/updater/UpdaterModule.java 
 5733da3daeacd8cb726310e5d9933635e3993687 
   
 src/main/java/org/apache/aurora/scheduler/updater/strategy/FilteringStrategy.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/updater/strategy/InstanceUptimeProvider.java
  PRE-CREATION 
   
 src/main/java/org/apache/aurora/scheduler/updater/strategy/InstanceUptimeStrategy.java
  PRE-CREATION 
   
 src/main/java/org/apache

Re: Review Request 31376: Introduce JobUpdateSummary.key field, dual write that field when it is read/received.

2015-02-24 Thread Maxim Khutornenko

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

Ship it!



src/main/java/org/apache/aurora/scheduler/updater/Updates.java
https://reviews.apache.org/r/31376/#comment120333

Would it make sense to accept/return `JobUpdateSummary`? The 
mutable/immutable dance is rather confusing at call sites.


- Maxim Khutornenko


On Feb. 24, 2015, 8:12 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31376/
 ---
 
 (Updated Feb. 24, 2015, 8:12 p.m.)
 
 
 Review request for Aurora, Maxim Khutornenko and Zameer Manji.
 
 
 Bugs: AURORA-1093
 https://issues.apache.org/jira/browse/AURORA-1093
 
 
 Repository: aurora
 
 
 Description
 ---
 
 There are 3 ways a JobUpdateSummary lands in storage:
 
 - starting a job update via thrift
 - replaying a log record to save a job update
 - replaying a snapshot log record
 
 This change focuses on ensuring that `JobUpdateSummary.key` is always 
 available for code that is currently relying on the legacy fields (`updateId` 
 and `jobKey`) by cloning them.
 
 A follow-up change will alter all code inside the scheduler to only consume 
 the new field (removing `Updates.getKey`).
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/api.thrift 
 6f6124a4c844a1abcf07401d80c3e50eb8b4 
   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 
 384e9b536c3ee3edf7d90960aa51ef98948af088 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
 27981393d700c84f6aaa791f12b24d0cec28b5df 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  3e491d999dc3f9e116d3502e4c08c04bd6c6bab9 
   src/main/java/org/apache/aurora/scheduler/updater/Updates.java 
 6493d687d00a1d285777ce3c3b5dd45cd08ceb71 
   
 src/main/resources/org/apache/aurora/scheduler/storage/db/JobUpdateDetailsMapper.xml
  7685597bb6acafe1412b23234227adb0eddad429 
   
 src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java
  f4c92e64c36fb0c000ab8e9199dfed2fc35dcb36 
   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 
 7e5d0edefbed3f67116361da15dd4c969c67cfe8 
   
 src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplTest.java
  152e70489b351b5bcf06f85baddbe31259d0aef4 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  945144dcb5240c3713d909344c82a9312cd3ba5c 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 2088a8f1be04218f2a5abc7fb4b04170b37ba2d1 
 
 Diff: https://reviews.apache.org/r/31376/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 31350: Fix clusters.patch contextmanager cleanup

2015-02-24 Thread Maxim Khutornenko

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



src/test/python/apache/aurora/common/test_clusters.py
https://reviews.apache.org/r/31350/#comment120234

How about populating with a real cluster here and asserting it later?



src/test/python/apache/aurora/common/test_clusters.py
https://reviews.apache.org/r/31350/#comment120235

`with pytest.raises():` should be more compact.



src/test/python/apache/aurora/common/test_clusters.py
https://reviews.apache.org/r/31350/#comment120237

Please, assert the entire contents here, e.g. `assert clusters == 
[Cluster(...)]`


- Maxim Khutornenko


On Feb. 24, 2015, 2:18 p.m., Stephan Erb wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31350/
 ---
 
 (Updated Feb. 24, 2015, 2:18 p.m.)
 
 
 Review request for Aurora.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Fix clusters.patch contextmanager cleanup
 
 Otherwise one failing testcase can affect the entire suite.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/common/clusters.py 
 c4b7fefca30313b281808478bf23158a9b7fbf85 
   src/test/python/apache/aurora/common/test_clusters.py 
 1bd696e9cd28d87d0cac68b33ab043407d796b61 
 
 Diff: https://reviews.apache.org/r/31350/diff/
 
 
 Testing
 ---
 
 ./pants test.pytest --no-fast src/test/python/apache/aurora/common::
 
 
 Thanks,
 
 Stephan Erb
 




Re: Review Request 31389: Remove LiveClusterState, make CachedClusterState (now ClusterStateImpl) default.

2015-02-24 Thread Maxim Khutornenko

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

Ship it!


Ship It!

- Maxim Khutornenko


On Feb. 25, 2015, 12:01 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31389/
 ---
 
 (Updated Feb. 25, 2015, 12:01 a.m.)
 
 
 Review request for Aurora, Joshua Cohen and Maxim Khutornenko.
 
 
 Bugs: AURORA-1055
 https://issues.apache.org/jira/browse/AURORA-1055
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Remove LiveClusterState, make CachedClusterState (now ClusterStateImpl) 
 default.
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 0351b10cbfff76f07eec15c5ed1af7bb5f39a8ce 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/CachedClusterState.java
  2831103457184d2049684c1c519b6bbb3b5b3e62 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/LiveClusterState.java
  38cb17371735d959c14fc7bf9fc25b8eb814fdfe 
   
 src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java
  2030a9413035e1ad7db52b13957ed074b211d558 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/CachedClusterStateTest.java
  7cc04dd4ea214f7e9923be51b467a2564fec18bb 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/LiveClusterStateTest.java
  763f8b5f31349f291c0ede7b5d3292f6ca5b 
   
 src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
  83cf118c9e1d32b0de511754b4aeadd8aed33e49 
 
 Diff: https://reviews.apache.org/r/31389/diff/
 
 
 Testing
 ---
 
 Standard tests.  I removed a test case `testIgnoresThrottledTasks`, which was 
 actually testing LiveClusterState behavior.  That test case was redundant to 
 unit testing in `ClusterStateImpl`.
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 30895: Offer filtering for static vetoes. Part 4 of 4: Benchmarks.

2015-02-23 Thread Maxim Khutornenko

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

(Updated Feb. 23, 2015, 9:03 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Bill's comments.


Repository: aurora


Description
---

Offer filtering for static vetoes. Part 4 of 4: Modifying benchmarks to support 
preemption toggling.

Original RB: https://reviews.apache.org/r/28617/


Diffs (updated)
-

  src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java PRE-CREATION 
  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
bacfbfeb237ecddf82f58679e05be012c5214e61 
  src/jmh/java/org/apache/aurora/benchmark/Tasks.java 
1a35f9ee9e8e76def0f9bf5454cf8cbdf6a89c25 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31171: Saving backups asynchronously.

2015-02-23 Thread Maxim Khutornenko


 On Feb. 20, 2015, 12:06 a.m., Bill Farner wrote:
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java,
   line 261
  https://reviews.apache.org/r/31171/diff/2/?file=869995#file869995line261
 
  It may exceed your appetite for this review, but i would actually 
  prefer that this transaction be opened at the origin of the operation.  
  This would mean `createSnapshot()` might be best to accept a 
  `StoreProvider`, and allow the caller to decide whether that provider is 
  part of a read or write transaction.  If you follow this for 
  `applySnapshot` as well, it could accept `MutableStoreProvider` and have no 
  need to inject `Storage`.
 
 Bill Farner wrote:
 (fwiw this advice is in line with other recent refactors [1] to push 
 transactions up)
 
 [1] https://reviews.apache.org/r/26899/

For posterity: SnapshotStoreImpl uses a @Volatile storage instance, which 
cannot be enforced at all call sites (e.g. LogStorage).


- Maxim


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


On Feb. 20, 2015, 10:48 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31171/
 ---
 
 (Updated Feb. 20, 2015, 10:48 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-1108
 https://issues.apache.org/jira/browse/AURORA-1108
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Wrapped backup file handling into Runnable to handle asynchronously. 
 
 Refactoring somehow triggered a findbugs warning that I had to address as 
 well:
 Exceptional return value of java.io.File.delete() ignored in 
 org.apache.aurora.scheduler.storage.backup.StorageBackup$StorageBackupImpl$1.run()
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java 
 71feb5779df5738a92e587f9f66f915961f52d1d 
   src/main/java/org/apache/aurora/scheduler/storage/backup/StorageBackup.java 
 a20378a01575c399c23c86aa784424fc6909c34e 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
 ea33037d86f30f0787136f34dad34b88eceb0a4d 
   src/test/java/org/apache/aurora/scheduler/storage/backup/RecoveryTest.java 
 7602d112d29454608a97ec81de14b6bf0c45df68 
   
 src/test/java/org/apache/aurora/scheduler/storage/backup/StorageBackupTest.java
  15fc4404fa2ace4391e4ddc7153c848bc91d43df 
 
 Diff: https://reviews.apache.org/r/31171/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 30895: Offer filtering for static vetoes. Part 4 of 4: Benchmarks.

2015-02-23 Thread Maxim Khutornenko


 On Feb. 23, 2015, 7:47 p.m., Bill Farner wrote:
  src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java, line 33
  https://reviews.apache.org/r/30895/diff/2/?file=873059#file873059line33
 
  This is bound to become a Texas constructor [1].
  
  Please consider using the builder pattern instead to improve 
  readability at the call sites.
  
  Brief docs on these would be helpful too.  Specifically, 
  `clusterUtilization` would benefit from a blurb.
  
  [1] 
  https://github.com/twitter/commons/blob/master/src/java/com/twitter/common/styleguide.md#stay-out-of-texas

I can't force myself into justifying Builder here quite yet but I am fine with 
improving readabilty at call sites. Done.


- Maxim


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


On Feb. 23, 2015, 7:34 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/30895/
 ---
 
 (Updated Feb. 23, 2015, 7:34 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Offer filtering for static vetoes. Part 4 of 4: Modifying benchmarks to 
 support preemption toggling.
 
 Original RB: https://reviews.apache.org/r/28617/
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java 
 PRE-CREATION 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 bacfbfeb237ecddf82f58679e05be012c5214e61 
   src/jmh/java/org/apache/aurora/benchmark/Tasks.java 
 1a35f9ee9e8e76def0f9bf5454cf8cbdf6a89c25 
 
 Diff: https://reviews.apache.org/r/30895/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 30891: Offer filtering for static vetoes. Part 3 of 4: Offer filtering.

2015-02-23 Thread Maxim Khutornenko


 On Feb. 21, 2015, 12:43 a.m., Bill Farner wrote:
  src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java, 
  line 80
  https://reviews.apache.org/r/30891/diff/5-6/?file=867194#file867194line80
 
  This is kinda weird, what's the motivation here?
 
 Maxim Khutornenko wrote:
 Test coverage for the fine-logging statements.
 
 Maxim Khutornenko wrote:
 Just noticed you are referring to the `setUp()`. This is making sure 
 anything with INFO is still logged and setting to FINE does not mess up with 
 it depending on the test execution sequence.
 
 Bill Farner wrote:
 How about an injected `Logger` instead?  Guice actually injects this by 
 default, and there's no good reason we aren't using it.
 
 https://github.com/google/guice/wiki/BuiltInBindings

It would require modifying HostOffers to accept a Logger instance and adjusting 
both OfferManagerImplTest and TaskSchedulerTest to expect info(), fine() and 
isLoggable(). I rejected that idea to reduce the diff size. 

Since info level folds into fine, set the default level to Fine in setUp() 
instead.


- Maxim


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


On Feb. 20, 2015, 11:58 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/30891/
 ---
 
 (Updated Feb. 20, 2015, 11:58 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Bugs: AURORA-909
 https://issues.apache.org/jira/browse/AURORA-909
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Offer filtering for static vetoes. Part 3 of 4: Filtering out statically 
 banned offers.
 
 Will not apply cleanly: diffed with https://reviews.apache.org/r/30890 as a 
 parent.
 
 Original RB: https://reviews.apache.org/r/28617/
 
 
 Diffs
 -
 
   src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
 b241d7b22c3d1ceca127b2671eb608ae41283bf3 
   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
 21ea7d2b9d2f8c76367d7ae985270402bb51ea26 
   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
 5a0f7ddb7e8fa6869cbb0fdfd07c6881780c6917 
   src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
 7ee2bb9bec6c59ba67b65d5b1229c64aca1277ff 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
 9eef52a333e09454e8fd0026371c7e64472a883d 
   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
 b6d4d8e771c7d16a46e43c7d5c427b911f8b661d 
 
 Diff: https://reviews.apache.org/r/30891/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 30891: Offer filtering for static vetoes. Part 3 of 4: Offer filtering.

2015-02-23 Thread Maxim Khutornenko

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

(Updated Feb. 23, 2015, 8:36 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Bill's comments.


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


Repository: aurora


Description
---

Offer filtering for static vetoes. Part 3 of 4: Filtering out statically banned 
offers.

Will not apply cleanly: diffed with https://reviews.apache.org/r/30890 as a 
parent.

Original RB: https://reviews.apache.org/r/28617/


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/async/OfferManager.java 
b241d7b22c3d1ceca127b2671eb608ae41283bf3 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 
21ea7d2b9d2f8c76367d7ae985270402bb51ea26 
  src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 
5a0f7ddb7e8fa6869cbb0fdfd07c6881780c6917 
  src/test/java/org/apache/aurora/scheduler/async/OfferManagerImplTest.java 
7ee2bb9bec6c59ba67b65d5b1229c64aca1277ff 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 
9eef52a333e09454e8fd0026371c7e64472a883d 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java 
b6d4d8e771c7d16a46e43c7d5c427b911f8b661d 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 30895: Offer filtering for static vetoes. Part 4 of 4: Benchmarks.

2015-02-23 Thread Maxim Khutornenko


 On Feb. 23, 2015, 9:59 p.m., Bill Farner wrote:
  src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java, line 66
  https://reviews.apache.org/r/30895/diff/3/?file=873099#file873099line66
 
  Javadoc here would be nice.  I failed to elaborate on the last review, 
  but it's not immediatly obvious what this value means.

My bad, forgot to address in the previous diff. Fixed now.


- Maxim


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


On Feb. 23, 2015, 9:03 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/30895/
 ---
 
 (Updated Feb. 23, 2015, 9:03 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney and Bill Farner.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Offer filtering for static vetoes. Part 4 of 4: Modifying benchmarks to 
 support preemption toggling.
 
 Original RB: https://reviews.apache.org/r/28617/
 
 
 Diffs
 -
 
   src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java 
 PRE-CREATION 
   src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
 bacfbfeb237ecddf82f58679e05be012c5214e61 
   src/jmh/java/org/apache/aurora/benchmark/Tasks.java 
 1a35f9ee9e8e76def0f9bf5454cf8cbdf6a89c25 
 
 Diff: https://reviews.apache.org/r/30895/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 30895: Offer filtering for static vetoes. Part 4 of 4: Benchmarks.

2015-02-23 Thread Maxim Khutornenko

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

(Updated Feb. 23, 2015, 10:47 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Bill's comments.


Repository: aurora


Description
---

Offer filtering for static vetoes. Part 4 of 4: Modifying benchmarks to support 
preemption toggling.

Original RB: https://reviews.apache.org/r/28617/


Diffs (updated)
-

  src/jmh/java/org/apache/aurora/benchmark/BenchmarkSettings.java PRE-CREATION 
  src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java 
bacfbfeb237ecddf82f58679e05be012c5214e61 
  src/jmh/java/org/apache/aurora/benchmark/Tasks.java 
1a35f9ee9e8e76def0f9bf5454cf8cbdf6a89c25 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Review Request 31334: Fixing cron update quota checking.

2015-02-23 Thread Maxim Khutornenko

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

Review request for Aurora, Kevin Sweeney and Bill Farner.


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


Repository: aurora


Description
---

Cron schedule updates were treated as template addition rather than 
differential update, requiring extra quota capacity to clear the check.

Adding a new `checkCronUpdate()` QuotaManager interface method to correctly 
handle cron job updates.

This will no apply cleanly, diffed against https://reviews.apache.org/r/31241/


Diffs
-

  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 
934b92021d08ca23d95888683e9527ce37a8690a 
  
src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java 
2d21a976379631d11a498e7fcfd7cb6b800f3c15 
  src/test/java/org/apache/aurora/scheduler/quota/QuotaManagerImplTest.java 
b0772f73f1a21da5828660bfd7d2b1f6b15cbf74 
  
src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
 06c8faa9de4d0ac8389dbf07d4e81934b503761b 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31170: Refactor existing write APIs for job updates to use IJobUpdateKey.

2015-02-20 Thread Maxim Khutornenko

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

Ship it!



src/main/java/org/apache/aurora/scheduler/updater/Updates.java
https://reviews.apache.org/r/31170/#comment119639

JobKeys.assertValid(summary.getJobKey()) should be better here.

Also, you may want to inline these checks with the JobUpdateKey 
construction statement.


- Maxim Khutornenko


On Feb. 19, 2015, 8:30 p.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/31170/
 ---
 
 (Updated Feb. 19, 2015, 8:30 p.m.)
 
 
 Review request for Aurora, Maxim Khutornenko and Zameer Manji.
 
 
 Bugs: AURORA-1093
 https://issues.apache.org/jira/browse/AURORA-1093
 
 
 Repository: aurora
 
 
 Description
 ---
 
 In an effort to keep the diffs manageable, phase 2 started by changing the 
 signatures of `JobUpdateStore.Mutable` (read APIs still use just the update 
 ID string).  This change is mostly mechanical, with a few noteworthy 
 exceptions:
 
 - SaveJobUpdateEvent and SaveJobInstanceUpdateEvent now have a JobUpdateKey 
 field, so LogStorage dual reads and writes
 - JobUpdateStore.fetchUpdateKey was added to facilitate the above
 
 If we are happy with this diff, i will create relevant 0.9.0 tickets to 
 remove the old SaveJob[Instance]UpdateEvent fields.
 
 
 Diffs
 -
 
   api/src/main/thrift/org/apache/aurora/gen/storage.thrift 
 3798797bbd4a7f26b78bfd63e2d275cbec60cab3 
   src/main/java/org/apache/aurora/scheduler/async/JobUpdateHistoryPruner.java 
 7a349bb36991851c6936ee990b529cc8c6fbc3d7 
   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 
 934b92021d08ca23d95888683e9527ce37a8690a 
   src/main/java/org/apache/aurora/scheduler/storage/ForwardingStore.java 
 3ca150c3088d99f331ca8e84a235f25e5eb26e17 
   src/main/java/org/apache/aurora/scheduler/storage/JobUpdateStore.java 
 629a39b824a0f606f7697d637426510b6a0a41cb 
   src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java 
 34c4ab5adddbb62f117497b8007bc9b70ddd4490 
   
 src/main/java/org/apache/aurora/scheduler/storage/db/JobInstanceUpdateEventMapper.java
  4fb33bd6a68d1f0c7b113558fbdcce328e51dbdb 
   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 
 ba1672f06425db9477d52a91b36e0b0a1756430a 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
 ea33037d86f30f0787136f34dad34b88eceb0a4d 
   
 src/main/java/org/apache/aurora/scheduler/storage/log/WriteAheadStorage.java 
 2d275997edb57d3474a33ea7cf924e2500334234 
   
 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
  2d21a976379631d11a498e7fcfd7cb6b800f3c15 
   src/main/java/org/apache/aurora/scheduler/updater/JobUpdateController.java 
 d0def6ee0ad31f9dbb47fe2052aaf4ec3540b1fa 
   
 src/main/java/org/apache/aurora/scheduler/updater/JobUpdateControllerImpl.java
  f39d8768e7a83089f32b036ac072c50c3e0a66bd 
   src/main/java/org/apache/aurora/scheduler/updater/Updates.java PRE-CREATION 
   
 src/test/java/org/apache/aurora/scheduler/async/JobUpdateHistoryPrunerTest.java
  1cd693a07dcc1fb3136a64e49f9481078fec45a1 
   
 src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java
  156cbc49d8492c5a0209deae11c7be77ab2e0048 
   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 
 0a5cc51967f756411ca1489d81872f863c045b6b 
   
 src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplTest.java
  8fc3cb865fbcd467db91f4cb828d381a02ba7595 
   
 src/test/java/org/apache/aurora/scheduler/storage/log/WriteAheadStorageTest.java
  9393ad7a3e09865ae0c88b983c577a73e6782016 
   
 src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
  06c8faa9de4d0ac8389dbf07d4e81934b503761b 
   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 
 a15c409d9b9aafd55372b5f6d7e775ebbf894ac1 
 
 Diff: https://reviews.apache.org/r/31170/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bill Farner
 




Review Request 31241: Pushing transactions up in QuotaManager.

2015-02-20 Thread Maxim Khutornenko

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

Review request for Aurora and Bill Farner.


Repository: aurora


Description
---

Removing Storage from QuotaManager by pushing transaction layer up the call 
chain.

Will no apply cleanly. Diffed against https://reviews.apache.org/r/31235/.


Diffs
-

  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 
934b92021d08ca23d95888683e9527ce37a8690a 
  src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java 
ee7618979ce94631af8aaf7ab3ecb2fbfb33fc38 
  
src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java 
2d21a976379631d11a498e7fcfd7cb6b800f3c15 
  src/test/java/org/apache/aurora/scheduler/quota/QuotaManagerImplTest.java 
b0772f73f1a21da5828660bfd7d2b1f6b15cbf74 
  
src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
 06c8faa9de4d0ac8389dbf07d4e81934b503761b 
  src/test/java/org/apache/aurora/scheduler/thrift/ThriftIT.java 
2b8a9e443e1c50ba7a11556bbcaf4dc5bb694dd4 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



Re: Review Request 31171: Saving backups asynchronously.

2015-02-20 Thread Maxim Khutornenko

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

(Updated Feb. 20, 2015, 10:48 p.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
---

Joshua's comments.


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


Repository: aurora


Description
---

Wrapped backup file handling into Runnable to handle asynchronously. 

Refactoring somehow triggered a findbugs warning that I had to address as well:
Exceptional return value of java.io.File.delete() ignored in 
org.apache.aurora.scheduler.storage.backup.StorageBackup$StorageBackupImpl$1.run()


Diffs (updated)
-

  src/main/java/org/apache/aurora/scheduler/storage/backup/BackupModule.java 
71feb5779df5738a92e587f9f66f915961f52d1d 
  src/main/java/org/apache/aurora/scheduler/storage/backup/StorageBackup.java 
a20378a01575c399c23c86aa784424fc6909c34e 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 
ea33037d86f30f0787136f34dad34b88eceb0a4d 
  src/test/java/org/apache/aurora/scheduler/storage/backup/RecoveryTest.java 
7602d112d29454608a97ec81de14b6bf0c45df68 
  
src/test/java/org/apache/aurora/scheduler/storage/backup/StorageBackupTest.java 
15fc4404fa2ace4391e4ddc7153c848bc91d43df 

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


Testing
---

./gradlew -Pq build


Thanks,

Maxim Khutornenko



  1   2   3   4   5   6   7   8   9   10   >