You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Bill Farner <wf...@apache.org> on 2014/11/16 02:22:46 UTC

Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

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

Review request for Aurora, David McLaughlin and Zameer Manji.


Repository: aurora


Description
-------

Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.

A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.

The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
  src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
  src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
  src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
  src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
  src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
  src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
  src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
  src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61763
-----------------------------------------------------------

Ship it!


Ship It!

- Maxim Khutornenko


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61821
-----------------------------------------------------------


Master (c44aa5c) is red with this patch.
  ./build-support/jenkins/build.sh

    Installing /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/twitter.common.util-0.3.1-py2.7-nspkg.pth
  Found existing installation: setuptools 3.6
    Uninstalling setuptools:
      Successfully uninstalled setuptools
Successfully installed Markdown Pygments ansicolors cov-core coverage lockfile pantsbuild.pants pex psutil py pystache pytest pytest-cov python-daemon requests twitter.common.collections twitter.common.config twitter.common.confluence twitter.common.contextutil twitter.common.decorators twitter.common.dirutil twitter.common.lang twitter.common.log twitter.common.options twitter.common.process twitter.common.string twitter.common.threading twitter.common.util setuptools
Cleaning up...
Build operating on top level addresses: set([BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/BUILD, all)])
Problem executing PythonBuilder for targets OrderedSet([PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/admin/BUILD, host_maintenance)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, api)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, api)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, restarter)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, instance_watcher)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, scheduler_client)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/au
 rora/common/auth/BUILD, auth)), PythonThriftLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, cluster)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, transport)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, scheduler_mux)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, error_handling_thread)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, task_util)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/
 BUILD, base)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, http_signaler)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, updater_util)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, sla)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, common)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, aurora_job_key)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, cluster_option)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, clusters)), PythonLibrary(B
 uildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, shellify)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-packaged)), PythonThriftLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-test)), PythonThriftLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-storage)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, updater)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, job_monitor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, quota_check)), PythonLibr
 ary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/admin/BUILD, host_maintenance)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/admin/BUILD, util)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/admin/BUILD, admin_util)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, binding_helper)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, binding_helper)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/BUILD, config)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/schema/BUILD, schema)), PythonLibrary(BuildFileAddress(/home/jenkins/jen
 kins-slave/workspace/AuroraBot/src/main/python/apache/thermos/config/BUILD, schema)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, planner)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, config)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, config)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, api)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, disambiguator)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, disambiguator)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/a
 pache/aurora/client/api/BUILD, instance_watcher)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, job_monitor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, fake_scheduler_proxy)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, mux)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, quota_check)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, restarter)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, scheduler_client)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/auro
 ra/client/api/BUILD, sla)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, task_util)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, updater)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, updater_util)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, api)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, util)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, cli)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, command_runner)), PythonLi
 brary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/BUILD, schema)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/hooks/BUILD, hooks)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, factory)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, options)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, options)), PythonThriftLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/thermos/BUILD, py-thrift)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, client_lib)), PythonLibrary(BuildFileAddress(/home/jenkins/jenki
 ns-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, bridge)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/bin/BUILD, aurora_admin_lib)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, admin)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, help)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, maintenance)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/bin/BUILD, aurora_client_lib)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, all)), PythonLibrary(BuildFileAddress(/home/jenkins/jen
 kins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, core)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, run)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, ssh)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, util)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, bridge)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, command_hooks)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, cron)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/
 src/test/python/apache/aurora/client/cli/BUILD, help)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, inspect)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, job)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, config)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, logging)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, plugins)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, quota)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, sla)), 
 PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, task)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, supdate)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, update)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, admin)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, core)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, hooks)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, maintenance)), PythonTests(BuildFileAddress(/ho
 me/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, run)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, ssh)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/hooks/BUILD, hooked_api)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/hooks/BUILD, non_hooked_api)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_aurora_job_key)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_cluster)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_clusters)), PythonTests(BuildFileAddress(/home/jenkins/jenkins
 -slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_cluster_option)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_http_signaler)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_shellify)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_transport)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_base)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_constraint_parsing)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_loader)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspac
 e/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_thrift)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_base)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_base)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_detector)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_detector)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_vars)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_vars)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/Auror
 aBot/src/test/python/apache/aurora/executor/BUILD, status_manager)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, status_manager)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, status_checker)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, thermos_task_runner)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, sandbox)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, thermos_task_runner)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, common)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/works
 pace/AuroraBot/src/main/python/apache/thermos/common/BUILD, ckpt)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, path)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, core)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, inspector)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, muxer)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, runner)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, helper)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, process)), Pyth
 onLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/config/BUILD, config)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, monitor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, task_info)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, task_runner)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, thermos_statuses)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, announcer)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, announcer)), Pyt
 honTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, directory_sandbox)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, executor_timeout)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, executor_timeout)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, health_checker)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, fixtures)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, health_checker)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/auror
 a/executor/common/BUILD, status_checker)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, task_info)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, gc_executor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, gc_executor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, detector)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, garbage)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, thermos_executor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/ex
 ecutor/BUILD, aurora_executor)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, kill_manager)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/bin/BUILD, test_thermos)), PythonBinary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/bin/BUILD, thermos)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, monitoring)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, disk)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, process)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, resou
 rce)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, process_collector_psutil)), PythonLibrary(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/testing/BUILD, runner)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_pathspec)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_planner)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_task_planner)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/config/BUILD, test_schema)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_process)), Python
 Tests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_ephemerals)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_failing_runner)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_failure_limit)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_finalization)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_helper)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_runner_integration)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_angry)), PythonTests(BuildFileA
 ddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_staged_kill)), PythonTests(BuildFileAddress(/home/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/monitoring/BUILD, test_disk))]): Traceback (most recent call last):
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/commands/build.py", line 130, in _python_build
    debug=self._verbose)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/python_builder.py", line 43, in build
    debug=debug).run()
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/test_builder.py", line 88, in run
    rv = self._run_tests([target], stdout, stderr)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/test_builder.py", line 316, in _run_tests
    with self._test_runner(targets, stdout, stderr) as (pex, test_args):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/test_builder.py", line 295, in _test_runner
    builder = chroot.dump()
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/python_chroot.py", line 191, in dump
    conn_timeout=self._conn_timeout)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/python/resolver.py", line 100, in resolve_multi
    platform=platform)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pex/resolver.py", line 101, in resolve
    raise Unsatisfiable('Cannot satisfy requirements: %s' % requirement_set[requirement.key])
Unsatisfiable: Cannot satisfy requirements: [PythonRequirement(twitter.common.rpc==0.3.2)]


Usage: 
  pants build (options) [spec] (build args)
  pants build (options) [spec]... -- (build args)

Options:
  --version             show program's version number and exit
  --no-pantsrc          Specifies that pantsrc files should be ignored.
  --log-exit            Log an exit message on success or failure.
  -t CONN_TIMEOUT, --timeout=CONN_TIMEOUT
                        Number of seconds to wait for http connections.
  -i INTERPRETERS, --interpreter=INTERPRETERS
                        Constrain what Python interpreters to use.  Uses
                        Requirement format from pkg_resources, e.g.
                        'CPython>=2.6,<3' or 'PyPy'. By default, no
                        constraints are used.  Multiple constraints may be
                        added.  They will be ORed together.
  -v, --verbose         Show verbose output.
  -f, --fast            Run tests in a single chroot.

Builds the specified Python target(s). Use ./pants goal for JVM and other
targets.


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

- Aurora ReviewBot


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Bill Farner <wf...@apache.org>.

> On Nov. 17, 2014, 9:48 p.m., Zameer Manji wrote:
> > src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java, line 108
> > <https://reviews.apache.org/r/28103/diff/2/?file=765455#file765455line108>
> >
> >     I'm a little worried that we have to add yet another class to represent resources in the cluster.
> >     
> >     It's not blocking this review but I would like to know your thoughts on this.

This type of new encapsulation is a good thing for future consolidation, as it calls out a previously-hidden use case.  That said, we should avoid consolidation just because of a noun clash - it should become obvious when two disparate types are serving the same purpose.


- Bill


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


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Zameer Manji <zm...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61818
-----------------------------------------------------------

Ship it!



src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java
<https://reviews.apache.org/r/28103/#comment103717>

    I'm a little worried that we have to add yet another class to represent resources in the cluster.
    
    It's not blocking this review but I would like to know your thoughts on this.


- Zameer Manji


On Nov. 16, 2014, 2:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 2:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by David McLaughlin <da...@dmclaughlin.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61815
-----------------------------------------------------------

Ship it!


Ship It!

- David McLaughlin


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61690
-----------------------------------------------------------


Master (8741cdb) is red with this patch.
  ./build-support/jenkins/build.sh

virtualenv-1.11.6/virtualenv.py
virtualenv-1.11.6/virtualenv_embedded/
virtualenv-1.11.6/virtualenv_embedded/activate.bat
virtualenv-1.11.6/virtualenv_embedded/activate.csh
virtualenv-1.11.6/virtualenv_embedded/activate.fish
virtualenv-1.11.6/virtualenv_embedded/activate.ps1
virtualenv-1.11.6/virtualenv_embedded/activate.sh
virtualenv-1.11.6/virtualenv_embedded/activate_this.py
virtualenv-1.11.6/virtualenv_embedded/deactivate.bat
virtualenv-1.11.6/virtualenv_embedded/distutils-init.py
virtualenv-1.11.6/virtualenv_embedded/distutils.cfg
virtualenv-1.11.6/virtualenv_embedded/site.py
virtualenv-1.11.6/virtualenv_support/
virtualenv-1.11.6/virtualenv_support/__init__.py
virtualenv-1.11.6/virtualenv_support/pip-1.5.6-py2.py3-none-any.whl
virtualenv-1.11.6/virtualenv_support/setuptools-3.6-py2.py3-none-any.whl
+ touch virtualenv-1.11.6/BOOTSTRAPPED
+ popd
~/jenkins-slave/workspace/AuroraBot
+ exec /usr/bin/python2.7 /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/virtualenv-1.11.6/virtualenv.py /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv
New python executable in /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/bin/python2.7
Also creating executable in /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/bin/python
Installing setuptools, pip...done.
Downloading/unpacking Markdown==2.1.1 (from -r /home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants_requirements.txt (line 5))
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/req.py", line 1197, in prepare_files
    do_download,
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/req.py", line 1375, in unpack_url
    self.session,
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/download.py", line 546, in unpack_http_url
    resp = session.get(target_url, stream=True)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 468, in get
    return self.request('GET', url, **kwargs)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/download.py", line 237, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 456, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 559, in send
    r = adapter.send(request, **kwargs)
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pip/_vendor/requests/adapters.py", line 384, in send
    raise Timeout(e, request=request)
Timeout: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

Storing debug log for failure in /home/jenkins/.pip/pip.log


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

- Aurora ReviewBot


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by David McLaughlin <da...@dmclaughlin.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61816
-----------------------------------------------------------


@ReviewBot retry

- David McLaughlin


On Nov. 16, 2014, 10:29 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:29 p.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/
-----------------------------------------------------------

(Updated Nov. 16, 2014, 10:29 p.m.)


Review request for Aurora, David McLaughlin and Zameer Manji.


Repository: aurora


Description
-------

Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.

A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.

The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
  src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
  src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
  src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
  src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
  src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
  src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
  src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
  src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
  src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
  src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
  src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28103: Simplify Preemptor code, encapsulate parameters used there and in SchedulingFilter.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28103/#review61678
-----------------------------------------------------------


Master (8741cdb) is red with this patch.
  ./build-support/jenkins/build.sh

+ date
Sun Nov 16 01:30:01 UTC 2014
+ ./gradlew -Pq clean build
:buildSrc:clean UP-TO-DATE
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes
:buildSrc:jar
:buildSrc:assemble
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build
:clean
:bootstrapThrift
:checkPython
:generateSources
:compileGeneratedJavaNote: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

:processGeneratedResources UP-TO-DATE
:generatedClasses
:compileJavaNote: Writing file:/home/jenkins/jenkins-slave/workspace/AuroraBot/dist/classes/main/com/twitter/common/args/apt/cmdline.arg.info.txt.2

:processResources
:classes
:jar
:assemble
:jsHint
:checkstyleMain[ant:checkstyle] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/filter/ConstraintMatcher.java:35:1: Utility classes should not have a public or default constructor.
[ant:checkstyle] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java:111:18: '(' is followed by whitespace.
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkstyleMain'.
> Checkstyle rule violations were found. See the report at: file:///home/jenkins/jenkins-slave/workspace/AuroraBot/dist/reports/checkstyle/main.xml

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 29.951 secs


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

- Aurora ReviewBot


On Nov. 16, 2014, 1:22 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28103/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 1:22 a.m.)
> 
> 
> Review request for Aurora, David McLaughlin and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Simplify Preemptor code, encapsulate fields used there and in SchedulingFilter.
> 
> A lot of this addressing Law of Demeter violations, such as accepting `IAssignedTask` when only `ITaskConfig` and task ID were needed.  There are also (what i consider) readability improvements in `SchedulingFilterImpl` and `PreemptorImpl`.
> 
> The broader goal here is to simplify the code usedin scheduling, hopefully to make forthcoming scheduling performance improvements less complicated.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/TaskScheduler.java 6bfa3ac425ed3045fa60d1b0ca547e9bf3cde37a 
>   src/main/java/org/apache/aurora/scheduler/base/Tasks.java a2997f518f90eac34cb6fbb1104240b823d45f22 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java ca53303a675be60300cc1b6534164fa6da7ddbd7 
>   src/main/java/org/apache/aurora/scheduler/filter/ConstraintFilter.java 3839083f27ca5d4b93406152559b58b04e912a10 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java c1c5f26723f1eac3000e09e061b4582f922fded6 
>   src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java cc6b53b3265253f76c1e954c0108aa5936f5cc36 
>   src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java 4abc7ba36c547624af51fabc0983099efe5798ea 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/test/java/org/apache/aurora/scheduler/async/PreemptorImplTest.java 8b0367ec99701084ce0cf55229a363c4b0b66b8f 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerImplTest.java 9bc6a7535bf69dbc19771aa1834aeb04f42eea48 
>   src/test/java/org/apache/aurora/scheduler/async/TaskSchedulerTest.java d1bc9bfe987b83356483cf1fb04aef2eb51eb141 
>   src/test/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilterTest.java 94f0a179b786649775899f855f7c1a0caab7290f 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java a8a70b65c6f91371b9afad4dd3806a7c86fba04f 
> 
> Diff: https://reviews.apache.org/r/28103/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>