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