----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/45193/ -----------------------------------------------------------
(Updated March 24, 2016, 8:52 a.m.) Review request for Aurora, David Chung, Bill Farner, and Zameer Manji. Changes ------- Back task queries with `ITaskQuery`. This avoids special null checks for collection query criteria although it does require more care in struct handling code where `TaskQuery` <-> `ITaskQuery` are lossy for `isSet` query methods. src/main/java/org/apache/aurora/scheduler/base/JobKeys.java | 8 +++----- src/main/java/org/apache/aurora/scheduler/base/Query.java | 19 +++++++++---------- src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java | 15 +++++++-------- src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java | 2 +- src/main/java/org/apache/aurora/scheduler/storage/db/TaskMapper.java | 4 ++-- src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java | 14 +++++++------- src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java | 12 ++++++++---- src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java | 2 +- src/main/resources/org/apache/aurora/scheduler/storage/db/TaskMapper.xml | 10 +++++----- src/test/java/org/apache/aurora/scheduler/http/api/security/HttpSecurityIT.java | 18 ++++++++++-------- src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java | 6 +++--- src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java | 20 ++++++++++---------- 12 files changed, 66 insertions(+), 64 deletions(-) Repository: aurora Description ------- Previously, `null` was handled differently from an empty collection in task queries. For the Go thrift bindings, this was problematic since zero values in Go are useful in almost all cases and in particular in the case of maps (used to represent sets). In these cases unset `TaskQuery` collection parameters are serialized as empty collections (empty maps) instead of `nil` (`null`), leading to the inability to use the query API in any natural way. src/main/java/org/apache/aurora/scheduler/base/JobKeys.java | 2 +- src/main/java/org/apache/aurora/scheduler/base/Query.java | 2 +- src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java | 2 +- src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java | 6 ++++-- src/main/resources/org/apache/aurora/scheduler/storage/db/TaskMapper.xml | 6 +++--- src/test/java/org/apache/aurora/scheduler/storage/AbstractTaskStoreTest.java | 20 +++++++++++++++++--- 6 files changed, 27 insertions(+), 11 deletions(-) Diffs (updated) ----- src/main/java/org/apache/aurora/scheduler/base/JobKeys.java 8f5bf58b963ae5f76aad7dfa34bae5b9e67d6242 src/main/java/org/apache/aurora/scheduler/base/Query.java ee01eaa4d0230d6bf0909b6460f27a74f03240db src/main/java/org/apache/aurora/scheduler/storage/TaskStore.java ac0bb374842741d7ccb7a83c574a90ac156af0f9 src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java 078dd8b63fdca192c735f9097edd030ee315a021 src/main/java/org/apache/aurora/scheduler/storage/db/TaskMapper.java 4bf40047e105389ac7139edc449857889d390106 src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java 231a55615abfbb483667f5f8ef71d2709fc16a88 src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java d326d24dd527d084bce1b300f1818d3b1d94c036 src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java 5d246bee1a4dabc563a23c542384205537719f6a src/main/resources/org/apache/aurora/scheduler/storage/db/TaskMapper.xml 684614ffc42dd6778c7675a6c2f81cb72c106c0e src/test/java/org/apache/aurora/scheduler/http/api/security/HttpSecurityIT.java dfe94d3fadc3f5e3322dd5a3a367ad6ef22c2a99 src/test/java/org/apache/aurora/scheduler/storage/AbstractTaskStoreTest.java e56fed2e6c0cdb47737cf1a9b637c44c5e5b9815 src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 3ba03429748448642571cfe0858278a50148745a src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java 0a7b518578f4fd62c22e3ba52d8beae7958dc9eb Diff: https://reviews.apache.org/r/45193/diff/ Testing ------- NB: This change was broken out of https://reviews.apache.org/r/42756/ since it stands on its own (although its slightly more awkward in the mutable thrift world) and the case of the Go Aurora API client forces the issue. Locally green: ``` ./build-support/jenkins/build.sh ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh ``` Thanks, John Sirois