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

Reply via email to