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/15 19:58:04 UTC

Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


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


Repository: aurora


Description
-------

See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.

Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).

Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
  src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
  src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
  src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
  src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
  src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
  src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
  src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
  src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
  src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
  src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
  src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
  src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
  src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
  src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
  src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
  src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
  src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
  src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
  src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
  src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
  src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


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

  File "/usr/lib/python2.7/sysconfig.py", line 355, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open /x1/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/local/include/python2.7/pyconfig.h (No such file or directory)

Build operating on top level addresses: set([BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/BUILD, all)])
Problem executing PythonBuilder for targets OrderedSet([PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/admin/BUILD, host_maintenance)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, api)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, api)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, restarter)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, instance_watcher)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, scheduler_client)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/au
 th/BUILD, auth)), PythonThriftLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, cluster)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, transport)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, scheduler_mux)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, error_handling_thread)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, task_util)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, base)), PythonLibrary
 (BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, http_signaler)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, updater_util)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, sla)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, common)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, aurora_job_key)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, cluster_option)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, clusters)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/
 workspace/AuroraBot/src/main/python/apache/aurora/common/BUILD, shellify)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-packaged)), PythonThriftLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-test)), PythonThriftLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/aurora/gen/BUILD, py-thrift-storage)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, updater)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, job_monitor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, quota_check)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace
 /AuroraBot/src/main/python/apache/aurora/admin/BUILD, host_maintenance)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/admin/BUILD, util)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/admin/BUILD, admin_util)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, binding_helper)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, binding_helper)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/BUILD, config)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/schema/BUILD, schema)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/config/BUI
 LD, schema)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, planner)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, config)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, config)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, api)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, disambiguator)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, disambiguator)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, instance_watcher)), PythonTests(BuildFileAddress(/x1/je
 nkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, job_monitor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/BUILD, fake_scheduler_proxy)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, mux)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, quota_check)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, restarter)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, scheduler_client)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, sla)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraB
 ot/src/test/python/apache/aurora/client/api/BUILD, task_util)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, updater)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/api/BUILD, updater_util)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, api)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, util)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, cli)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/api/BUILD, command_runner)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/config/BUILD, s
 chema)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/hooks/BUILD, hooks)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, factory)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/BUILD, options)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, options)), PythonThriftLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/thrift/org/apache/thermos/BUILD, py-thrift)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, client_lib)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/cli/BUILD, bridge)), PythonLibrary(BuildFileAddress(/x1/jenkins/
 jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/bin/BUILD, aurora_admin_lib)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, admin)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, help)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, maintenance)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/bin/BUILD, aurora_client_lib)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, all)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, core)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-s
 lave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, run)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/client/commands/BUILD, ssh)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, util)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, bridge)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, command_hooks)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, cron)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, help)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/auro
 ra/client/cli/BUILD, inspect)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, job)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, config)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, logging)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, plugins)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, quota)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, sla)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, task)), PythonTests(BuildFileAddress(/x1/jenkins/
 jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, supdate)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/cli/BUILD, update)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, admin)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, core)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, hooks)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, maintenance)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/commands/BUILD, run)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test
 /python/apache/aurora/client/commands/BUILD, ssh)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/hooks/BUILD, hooked_api)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/client/hooks/BUILD, non_hooked_api)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_aurora_job_key)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_cluster)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_clusters)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_cluster_option)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/com
 mon/BUILD, test_http_signaler)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_shellify)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/common/BUILD, test_transport)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_base)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_constraint_parsing)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_loader)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/config/BUILD, test_thrift)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_base)), PythonL
 ibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_base)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_detector)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_detector)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, executor_vars)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, executor_vars)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, status_manager)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, status_manager)), PythonLibrary(BuildF
 ileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, status_checker)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, thermos_task_runner)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, sandbox)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, thermos_task_runner)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, common)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, ckpt)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/common/BUILD, path)), PythonLibrary(BuildFileAddress(/x1/jenkins/jen
 kins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, core)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, inspector)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, muxer)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, runner)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, helper)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/core/BUILD, process)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/config/BUILD, config)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, moni
 tor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, task_info)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, task_runner)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, thermos_statuses)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, announcer)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, announcer)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, directory_sandbox)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD
 , executor_timeout)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, executor_timeout)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, health_checker)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, fixtures)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, health_checker)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, status_checker)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/common/BUILD, task_info)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/auro
 ra/executor/BUILD, gc_executor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, gc_executor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, detector)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, garbage)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/aurora/executor/BUILD, thermos_executor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/BUILD, aurora_executor)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/aurora/executor/common/BUILD, kill_manager)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/bin/BUILD, test
 _thermos)), PythonBinary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/bin/BUILD, thermos)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, monitoring)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, disk)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, process)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, resource)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/monitoring/BUILD, process_collector_psutil)), PythonLibrary(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/main/python/apache/thermos/testing/BUILD, runner)), PythonTests(BuildFil
 eAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_pathspec)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_planner)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/common/BUILD, test_task_planner)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/config/BUILD, test_schema)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_process)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_ephemerals)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_failing_runner)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/w
 orkspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_failure_limit)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_finalization)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_helper)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_runner_integration)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_angry)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/core/BUILD, test_staged_kill)), PythonTests(BuildFileAddress(/x1/jenkins/jenkins-slave/workspace/AuroraBot/src/test/python/apache/thermos/monitoring/BUILD, test_disk))]): Traceback (most recent call last):
  File "/x1/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 "/x1/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 "/x1/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 "/x1/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 "/x1/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 "/x1/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 "/x1/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 "/x1/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pex/resolver.py", line 110, in resolve
    new_requirements.update(requires(highest_package, requirement))
  File "/x1/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pex/resolver.py", line 84, in requires
    raise Untranslateable('Package %s is not translateable.' % package)
Untranslateable: Package SourcePackage(u'https://pypi.python.org/packages/source/p/pystachio/pystachio-0.7.2.tar.gz#md5=cd66ead2f4cbd20e040a089e64a0dd32') is not translateable.


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:43 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:43 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

> On Nov. 17, 2014, 7:20 p.m., Maxim Khutornenko wrote:
> > I don't see ReadWriteLockManager removal in this diff. It was only used in mem storage AFAICT.

Thanks, removed.


- Bill


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


On Nov. 16, 2014, 10:43 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:43 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


I don't see ReadWriteLockManager removal in this diff. It was only used in mem storage AFAICT.


src/main/java/org/apache/aurora/scheduler/storage/Storage.java
<https://reviews.apache.org/r/28097/#comment103650>

    typo


- Maxim Khutornenko


On Nov. 16, 2014, 10:43 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:43 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


Kevin - ping?

- Bill Farner


On Nov. 20, 2014, 7:43 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2014, 7:43 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java 97d5d13fcb686c7199ccf92ddab04931d6d5ab57 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java c30a8c94ca7328e07455a3ed17f11128beb3ce9b 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b66b916f690d1e407febd47df647ec6567a249d9 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d1a70661122802ecfdd8efa2ced567685c08995f 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 953fb9e26eab3bee210247e702aca75f4518b368 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28097/#review62591
-----------------------------------------------------------

Ship it!


Ship It!

- Kevin Sweeney


On Nov. 20, 2014, 11:43 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2014, 11:43 a.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java 97d5d13fcb686c7199ccf92ddab04931d6d5ab57 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java c30a8c94ca7328e07455a3ed17f11128beb3ce9b 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b66b916f690d1e407febd47df647ec6567a249d9 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d1a70661122802ecfdd8efa2ced567685c08995f 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 953fb9e26eab3bee210247e702aca75f4518b368 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


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

    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 110, in resolve
    new_requirements.update(requires(highest_package, requirement))
  File "/home/jenkins/jenkins-slave/workspace/AuroraBot/build-support/pants.venv/lib/python2.7/site-packages/pex/resolver.py", line 84, in requires
    raise Untranslateable('Package %s is not translateable.' % package)
Untranslateable: Package SourcePackage(u'https://pypi.python.org/packages/source/t/twitter.common.log/twitter.common.log-0.3.2.tar.gz#md5=f099d50ece1ab181ee7a9fadc2263ef5') is not translateable.


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. 20, 2014, 7:43 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2014, 7:43 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java 97d5d13fcb686c7199ccf92ddab04931d6d5ab57 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java c30a8c94ca7328e07455a3ed17f11128beb3ce9b 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b66b916f690d1e407febd47df647ec6567a249d9 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d1a70661122802ecfdd8efa2ced567685c08995f 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 953fb9e26eab3bee210247e702aca75f4518b368 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

(Updated Nov. 20, 2014, 7:43 p.m.)


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Changes
-------

Realized the previous diff was parented against the wrong branch, new diff is sane.


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


Repository: aurora


Description
-------

See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.

Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).

Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
  src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
  src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java 97d5d13fcb686c7199ccf92ddab04931d6d5ab57 
  src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
  src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
  src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
  src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
  src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
  src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
  src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
  src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
  src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java c30a8c94ca7328e07455a3ed17f11128beb3ce9b 
  src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
  src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
  src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
  src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b66b916f690d1e407febd47df647ec6567a249d9 
  src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
  src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java d1a70661122802ecfdd8efa2ced567685c08995f 
  src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 953fb9e26eab3bee210247e702aca75f4518b368 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
  src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
  src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
  src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
  src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
  src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


This patch does not apply cleanly on master (4e52d00), do you need to rebase?

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

- Aurora ReviewBot


On Nov. 19, 2014, 11:41 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 19, 2014, 11:41 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD 63ae77f4632db158109e8d562488ce4e84da0438 
>   build.gradle f4b4e0d28962b6a1d5802ab9fcd6b4d49afbf360 
>   src/main/java/org/apache/aurora/auth/SessionValidator.java eeebb78901a6c33e08ceb8e675c91f0b5f44bcbc 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/configuration/SanitizedConfiguration.java 4eb4437b91906ae191dd105474e84ba5f40cf52e 
>   src/main/java/org/apache/aurora/scheduler/cron/SanitizedCronJob.java babbf4203af6f405d4193d6feaa749232e553ae9 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/Recovery.java 4744dc9f202969906113ccb610bf17c94d188c43 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java f7f2841b95091adafbd2b18cf949051a760ea86d 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/main/java/org/apache/aurora/scheduler/thrift/Util.java 18e2bdfab6406761d7e7cbcec26d12fb28441fe0 
>   src/main/java/org/apache/aurora/scheduler/thrift/aop/AopModule.java dca855c522d21924821fc47e636da39689aec4b7 
>   src/main/python/apache/aurora/client/api/scheduler_client.py 3a851cc9f53380b4bf2e9df47080e7c476c3e38e 
>   src/main/python/apache/aurora/client/cli/BUILD 995570325bbb09ecbcc2ace5d223760c5d49367f 
>   src/main/python/apache/aurora/client/cli/context.py df9dc24a060ef551009f48687fe9ecd928ee04a4 
>   src/main/python/apache/aurora/client/cli/update.py 30763920bbc0b7e7a19e9a1a873d72680b7f821b 
>   src/main/python/apache/aurora/executor/thermos_statuses.py 634185a7f8b33858a6f3ae7b1e5722c18ee51bf0 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 608903268a0a0d67711bfdc81d2e5b29c335ead2 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
>   src/test/python/apache/aurora/client/api/BUILD a3ca82d84f5b71cefa2764aebb2304e391c82af7 
>   src/test/python/apache/aurora/client/api/api_util.py 6e12154fcd6609b763935b9fb7458946efd7d3d6 
>   src/test/python/apache/aurora/client/api/test_scheduler_client.py 1f1c6e0ab686cc63bf0a6b7a36e7eef688644e74 
>   src/test/python/apache/aurora/client/cli/test_supdate.py 97a9664a5230a7331bd7b784cbbc958d4c07cbb1 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

Ship it!


Ship It!

- Maxim Khutornenko


On Nov. 19, 2014, 11:41 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 19, 2014, 11:41 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD 63ae77f4632db158109e8d562488ce4e84da0438 
>   build.gradle f4b4e0d28962b6a1d5802ab9fcd6b4d49afbf360 
>   src/main/java/org/apache/aurora/auth/SessionValidator.java eeebb78901a6c33e08ceb8e675c91f0b5f44bcbc 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
>   src/main/java/org/apache/aurora/scheduler/configuration/SanitizedConfiguration.java 4eb4437b91906ae191dd105474e84ba5f40cf52e 
>   src/main/java/org/apache/aurora/scheduler/cron/SanitizedCronJob.java babbf4203af6f405d4193d6feaa749232e553ae9 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/Recovery.java 4744dc9f202969906113ccb610bf17c94d188c43 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java f7f2841b95091adafbd2b18cf949051a760ea86d 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/main/java/org/apache/aurora/scheduler/thrift/Util.java 18e2bdfab6406761d7e7cbcec26d12fb28441fe0 
>   src/main/java/org/apache/aurora/scheduler/thrift/aop/AopModule.java dca855c522d21924821fc47e636da39689aec4b7 
>   src/main/python/apache/aurora/client/api/scheduler_client.py 3a851cc9f53380b4bf2e9df47080e7c476c3e38e 
>   src/main/python/apache/aurora/client/cli/BUILD 995570325bbb09ecbcc2ace5d223760c5d49367f 
>   src/main/python/apache/aurora/client/cli/context.py df9dc24a060ef551009f48687fe9ecd928ee04a4 
>   src/main/python/apache/aurora/client/cli/update.py 30763920bbc0b7e7a19e9a1a873d72680b7f821b 
>   src/main/python/apache/aurora/executor/thermos_statuses.py 634185a7f8b33858a6f3ae7b1e5722c18ee51bf0 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 608903268a0a0d67711bfdc81d2e5b29c335ead2 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
>   src/test/python/apache/aurora/client/api/BUILD a3ca82d84f5b71cefa2764aebb2304e391c82af7 
>   src/test/python/apache/aurora/client/api/api_util.py 6e12154fcd6609b763935b9fb7458946efd7d3d6 
>   src/test/python/apache/aurora/client/api/test_scheduler_client.py 1f1c6e0ab686cc63bf0a6b7a36e7eef688644e74 
>   src/test/python/apache/aurora/client/cli/test_supdate.py 97a9664a5230a7331bd7b784cbbc958d4c07cbb1 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

(Updated Nov. 19, 2014, 11:41 p.m.)


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


Changes
-------

Address feedback + rebase, unfortunately this breaks inter-diff :-/


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


Repository: aurora


Description
-------

See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.

Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).

Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.


Diffs (updated)
-----

  3rdparty/python/BUILD 63ae77f4632db158109e8d562488ce4e84da0438 
  build.gradle f4b4e0d28962b6a1d5802ab9fcd6b4d49afbf360 
  src/main/java/org/apache/aurora/auth/SessionValidator.java eeebb78901a6c33e08ceb8e675c91f0b5f44bcbc 
  src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
  src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
  src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
  src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
  src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
  src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java 8cf845f3622392a65216e0c29084965c7c64075d 
  src/main/java/org/apache/aurora/scheduler/configuration/SanitizedConfiguration.java 4eb4437b91906ae191dd105474e84ba5f40cf52e 
  src/main/java/org/apache/aurora/scheduler/cron/SanitizedCronJob.java babbf4203af6f405d4193d6feaa749232e553ae9 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
  src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
  src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
  src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
  src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
  src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
  src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
  src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
  src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
  src/main/java/org/apache/aurora/scheduler/storage/ReadWriteLockManager.java 4e6d68b039bb140509b1261f25e7b49457bfd2be 
  src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
  src/main/java/org/apache/aurora/scheduler/storage/backup/Recovery.java 4744dc9f202969906113ccb610bf17c94d188c43 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
  src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
  src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java f7f2841b95091adafbd2b18cf949051a760ea86d 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
  src/main/java/org/apache/aurora/scheduler/thrift/Util.java 18e2bdfab6406761d7e7cbcec26d12fb28441fe0 
  src/main/java/org/apache/aurora/scheduler/thrift/aop/AopModule.java dca855c522d21924821fc47e636da39689aec4b7 
  src/main/python/apache/aurora/client/api/scheduler_client.py 3a851cc9f53380b4bf2e9df47080e7c476c3e38e 
  src/main/python/apache/aurora/client/cli/BUILD 995570325bbb09ecbcc2ace5d223760c5d49367f 
  src/main/python/apache/aurora/client/cli/context.py df9dc24a060ef551009f48687fe9ecd928ee04a4 
  src/main/python/apache/aurora/client/cli/update.py 30763920bbc0b7e7a19e9a1a873d72680b7f821b 
  src/main/python/apache/aurora/executor/thermos_statuses.py 634185a7f8b33858a6f3ae7b1e5722c18ee51bf0 
  src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
  src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
  src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
  src/test/java/org/apache/aurora/scheduler/storage/ReadWriteLockManagerTest.java b63ff3e6dcf14df1d8b418b4bc3f391a7452d392 
  src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
  src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
  src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
  src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
  src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 608903268a0a0d67711bfdc81d2e5b29c335ead2 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
  src/test/python/apache/aurora/client/api/BUILD a3ca82d84f5b71cefa2764aebb2304e391c82af7 
  src/test/python/apache/aurora/client/api/api_util.py 6e12154fcd6609b763935b9fb7458946efd7d3d6 
  src/test/python/apache/aurora/client/api/test_scheduler_client.py 1f1c6e0ab686cc63bf0a6b7a36e7eef688644e74 
  src/test/python/apache/aurora/client/cli/test_supdate.py 97a9664a5230a7331bd7b784cbbc958d4c07cbb1 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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

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


Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.


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


Repository: aurora


Description
-------

See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.

Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).

Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
  src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
  src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
  src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
  src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
  src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
  src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
  src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
  src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
  src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
  src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
  src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
  src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
  src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
  src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
  src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
  src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
  src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
  src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
  src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
  src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
  src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
  src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
  src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
  src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
  src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
  src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
  src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
  src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
  src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
  src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
  src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
  src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 

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


Testing
-------


Thanks,

Bill Farner


Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

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


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

+ date
Sat Nov 15 18:59:54 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/storage/Storage.java:25:8: Unused import - org.apache.aurora.scheduler.base.Query.
[ant:checkstyle] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java:618:13: Nested try depth is 2 (max allowed is 1).
[ant:checkstyle] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java:30:8: Unused import - com.twitter.common.stats.Stats.
 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 34.719 secs


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

- Aurora ReviewBot


On Nov. 15, 2014, 6:57 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28097/
> -----------------------------------------------------------
> 
> (Updated Nov. 15, 2014, 6:57 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-929
>     https://issues.apache.org/jira/browse/AURORA-929
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> See updated class javadoc in `Storage` for new behavior description.  Ultimately we're accepting the risk of reading uncommitted writes (specifically in `TaskStore` and `JobStore`).  In practice this should generally be exceedingly rare, as most writes are atomic to one store anyway, and for those that are not (such as rescheduling a task), the window should be O(µs) long.
> 
> Once `DbStorage` owns all of the stores, we have a global knob for transaction isolation: http://mybatis.github.io/mybatis-3/java-api.html#sqlSessions (search that page for `TransactionIsolationLevel`).
> 
> Without the ReadWriteLock in play, there is no longer a need for `weaklyConsistentRead`, so i've removed that.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/TaskVars.java cf8f7584afee758c527798914181049051aef0d8 
>   src/main/java/org/apache/aurora/scheduler/async/GcExecutorLauncher.java e02921df3a217aa2678e91a8bebe6a3708dbc9c3 
>   src/main/java/org/apache/aurora/scheduler/async/KillRetry.java d6b7fabe6642944e9fda87c5588029c5bb32c025 
>   src/main/java/org/apache/aurora/scheduler/async/Preemptor.java ff26c49729646ffe052cb0a993b9984ae96a89ac 
>   src/main/java/org/apache/aurora/scheduler/async/RescheduleCalculator.java ca54c9aa321c831abdbdb8bc1f8c06a0bff95ee2 
>   src/main/java/org/apache/aurora/scheduler/async/TaskHistoryPruner.java 58d074b491dab2e2e0ce8a8a57e4ebdaf0984e73 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java 84e37e49fabc7ac6bfa2967787cb6abb6ce4af5d 
>   src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 8e2d3d92c3404f9b24b802687c2d7faeeb27d318 
>   src/main/java/org/apache/aurora/scheduler/http/Maintenance.java be8a1fff2db77414dd04637af4a8183810b66845 
>   src/main/java/org/apache/aurora/scheduler/http/Mname.java 883f954e5dc99311fb701d52dd5d737a50f23276 
>   src/main/java/org/apache/aurora/scheduler/http/Quotas.java 5f3cce330a9ec7eb3bdfb3512791d9180000d4c9 
>   src/main/java/org/apache/aurora/scheduler/http/Slaves.java 0ea462f5d1abbb9eec457205e1b9acca9976027a 
>   src/main/java/org/apache/aurora/scheduler/http/StructDump.java 8147d545dce3082d63f693c9620e3c769258d9e4 
>   src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverService.java 88150e564e70bf02b62c1c7477d126e98dd91437 
>   src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java e38407ec487d511fb05142cbeda955ec5a6ba4ec 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 149bb33568d67fffdee944bf676199e7108b0c0d 
>   src/main/java/org/apache/aurora/scheduler/state/LockManagerImpl.java f167290bf99b76ccc049eb51fe95ccfce940d078 
>   src/main/java/org/apache/aurora/scheduler/state/MaintenanceController.java a835eaabb047ede5833ca80f43a0cb1bee01d142 
>   src/main/java/org/apache/aurora/scheduler/stats/ResourceCounter.java 79d12b0dd7959b5443ffce43d9ebdb79135718bb 
>   src/main/java/org/apache/aurora/scheduler/storage/CallOrderEnforcingStorage.java 0d02207d7bda46bcc84d2e7328a8c500ad9a5384 
>   src/main/java/org/apache/aurora/scheduler/storage/Storage.java 682bca881969d24ece40ab83356f1bebb77feabd 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 503bdfeb2cefccfdeb151190b04ce9ce445f47b1 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbStorage.java 40487e5461da8062555e4e40ccb1c146ab665c5f 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java 45ea50fff10c5ff10db3f225cdbbb0204f056d31 
>   src/main/java/org/apache/aurora/scheduler/storage/log/LogStorageModule.java 73348f3ef0d7452497e14a3889f5c20da04e5455 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 66ff56714bfd1fc429a67d9da862172df5072639 
>   src/main/java/org/apache/aurora/scheduler/storage/mem/MemStorage.java 2cc76dc1583c43cb528e78275b8a4ad23b8529d2 
>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java f0b49758236a40670931864e600cbc8375581919 
>   src/test/java/org/apache/aurora/scheduler/app/local/FakeNonVolatileStorage.java 5cc3b4178f4d2bc63ce47adb0e33bde140618fac 
>   src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java d56c36c66d85b274528f6321af46fbf9054c4cc8 
>   src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java e113eba1f304279b5ee3d70db1d1ea558efd63ac 
>   src/test/java/org/apache/aurora/scheduler/state/LockManagerImplTest.java 6e499d1d82d5748ffc0d578283139f39e93316a7 
>   src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java 157921cf48c56da09ad4d56e7997f444e84d34cf 
>   src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 2514d84ead1d65b736117d51e396ed0d5a2c03e4 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStoreTest.java c0ccfaa8f2e8839878579c3d02843e164019bf0f 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java d6596589b45520ad8f5423d3c16cc7611d009302 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbLockStoreTest.java e9b210fca89aeac70c689d59e921130f15d1ec2b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbQuotaStoreTest.java 6d8d52a1fdeabbb3bd2c336aa031d01b9d2d1041 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStoreTest.java 9c00c8bde7e2494a6abfa96ef9b6ec26d368e0b3 
>   src/test/java/org/apache/aurora/scheduler/storage/log/LogStorageTest.java 259c6a908d919b186be71164b29f690ccfb93ddd 
>   src/test/java/org/apache/aurora/scheduler/storage/mem/MemStorageTest.java 463b445d30c632cc1d706d2931609abd54b2721b 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 6918cba1045d7d8a4584b600514d615ae6a7c7bb 
>   src/test/java/org/apache/aurora/scheduler/updater/JobUpdaterIT.java 2533d82f8a98073f72e15f1f0214eb3d9cc96811 
> 
> Diff: https://reviews.apache.org/r/28097/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>