----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/38112/ -----------------------------------------------------------
(Updated Sept. 10, 2015, 5:36 p.m.) Review request for Aurora, Kevin Sweeney and Maxim Khutornenko. Changes ------- rebase Bugs: AURORA-1476 https://issues.apache.org/jira/browse/AURORA-1476 Repository: aurora Description ------- Alter thrift wrapper generator to use default primitive values and empty collections. Reviewers - please see my self-review commentary in specific parts of the patch. The biggest shift with this change is that an impedance mismatch that existed when inserting/fetching a record from the database is now lifted to the thrift wrapper layer. This means the following test is not guaranteed to pass: ```java TaskConfig original = new TaskConfig(...); assertEquals(original, ITaskConfig.build(original).newBuilder()); // won't always pass ``` Most specifically, the wrapped/upwrapped `TaskConfig` will have null collections replaced with empty ones, and will not honor set/unset flags for primitives. The best practice, therefore, should be to treat our wrapper classes as the canonical form, and only deal with the underlying thrift types when absolutely necessary. Diffs (updated) ----- src/main/java/org/apache/aurora/scheduler/configuration/ConfigurationManager.java a952797315a3421695748f09b9a6abb552cbb668 src/main/java/org/apache/aurora/scheduler/quota/QuotaManager.java 49bf3c9f140210b1153e1bdba74fe9a993686e9f src/main/java/org/apache/aurora/scheduler/storage/StorageBackfill.java f1b167bacbfce4f753fc0bbb2b860e3024b9843f src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java e12ad3e3868472ba84e379986bd1aa97bca42ffe src/main/python/apache/aurora/tools/java/thrift_wrapper_codegen.py b5f2bc9e54b525a6a782d8873c9112f6496cd3f2 src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java b2ec13f40c12e5ee5663f4465734d6a80f3587cd src/test/java/org/apache/aurora/scheduler/configuration/ConfigurationManagerTest.java f3b62cc957186bc9673060830572bc1cc073ac49 src/test/java/org/apache/aurora/scheduler/filter/SchedulingFilterImplTest.java 5d8bd1b72927786df95c972df64d68c78f25dad0 src/test/java/org/apache/aurora/scheduler/http/api/ApiBetaTest.java 08e1284ac1ef08b7649ed83df0a55be04cfeb88f src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java 9213b88ab4ce5063ca0fb055851ae5632616155e src/test/java/org/apache/aurora/scheduler/quota/QuotaManagerImplTest.java 83a8abed6e5fb8f3ed32745e31a9635bb4802c39 src/test/java/org/apache/aurora/scheduler/storage/AbstractTaskStoreTest.java 295974a9f97e020dce11474d500a1bcd40d9f5d5 src/test/java/org/apache/aurora/scheduler/storage/StorageBackfillTest.java 7ccc273204d20c84bbb576958e832b6f4a29f607 src/test/java/org/apache/aurora/scheduler/storage/db/DbAttributeStoreTest.java 0e0a847f46c4d1d833a3c610e8a5f752f368c0d5 src/test/java/org/apache/aurora/scheduler/storage/db/DbJobUpdateStoreTest.java 3e78c097a7a9252ded8a4a7fc6609ecf5d61c5b5 src/test/java/org/apache/aurora/scheduler/thrift/Fixtures.java b0587191779f2d19279ed23a07340c44f3e80c5d src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 37c81291ac43ac9e53211c2e6571e2ac90e1c23b src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 4685aa157be77502ad0e4e648ad333ee286f3de5 Diff: https://reviews.apache.org/r/38112/diff/ Testing ------- End-to-end tests pass Thanks, Bill Farner