aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner" <wfar...@apache.org>
Subject Re: Review Request 28097: Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.
Date Wed, 19 Nov 2014 23:41:35 GMT

-----------------------------------------------------------
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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message