aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua Cohen" <jco...@apache.org>
Subject Re: Review Request 32329: Extract job key from RPC parameters
Date Mon, 23 Mar 2015 20:59:13 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32329/#review77289
-----------------------------------------------------------


Thanks, this is already much easier to follow.

One general question on the overall approach: do you think the DRY benefits of using composed
`StructFieldGetter`s to generate the functions that allow walking from the starting type to
`JobKey` outweigh the readability improvements of using a fully explicit mapping? I.e.

    Function<JobUpdateRequest, JobKey> UPDATE_REQUEST_TO_JOB_KEY = new Function<...>
{
      @Override
      public JobKey apply(JobUpdateRequest request) {
        return request.getTaskConfig().getJobKey();
      }
    };


src/main/java/org/apache/aurora/scheduler/http/api/security/AuthorizingParam.java
<https://reviews.apache.org/r/32329/#comment125179>

    nit: can re-wrap this after removing the package.



src/test/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityIT.java
<https://reviews.apache.org/r/32329/#comment125170>

    should this be `DEPLOY_SERVICE.getUserName()` (same applies above if so).



src/test/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityIT.java
<https://reviews.apache.org/r/32329/#comment125172>

    should we have a test that asserts we get `AUTH_FAILED` if a user other than deploysvc
tries to kill the ads job?



src/main/java/org/apache/aurora/scheduler/http/api/security/AuthorizingParam.java
<https://reviews.apache.org/r/32329/#comment125515>

    Presumably this is the result of an automated rename of ShiroThriftInterceptor, but I
think we really want this to be ShiroAuthorizingParamInterceptor now, right?



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125520>

    s/public//



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125521>

    s/public// on all of these?
    
    (and add @VisibleForTesting presumably if not just make them private obviously).



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125531>

    nit: can we rename the `key` param to be `method` to avoid confusion with the job keys
that we deal in elsewhere in this class?



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125528>

    Would probably be helpful to add more detail to this exception (e.g. "No parameter annotated
with ... found on method " + method.getName())



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125534>

    Is this the right value here? We want to log, e.g., "No path from TaskConfigJobKey to
JobKey"?



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125517>

    As per the javadoc on this class, should we add validation that authentication has happened
and that the method returns a `Response`?



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125518>

    s/invocation.getMethod()/method



src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
<https://reviews.apache.org/r/32329/#comment125519>

    s/invocation.getMethod()/method



src/main/java/org/apache/aurora/scheduler/http/api/security/StructGetter.java
<https://reviews.apache.org/r/32329/#comment125537>

    do we need javadoc here? (If so, should we update checkstyle to enforce this?)



src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
<https://reviews.apache.org/r/32329/#comment125539>

    undo?



src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
<https://reviews.apache.org/r/32329/#comment125540>

    undo?



src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
<https://reviews.apache.org/r/32329/#comment125541>

    undo?


- Joshua Cohen


On March 23, 2015, 7:14 p.m., Kevin Sweeney wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32329/
> -----------------------------------------------------------
> 
> (Updated March 23, 2015, 7:14 p.m.)
> 
> 
> Review request for Aurora, Joshua Cohen and Bill Farner.
> 
> 
> Bugs: AURORA-1187
>     https://issues.apache.org/jira/browse/AURORA-1187
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Apologies for the large diff, this wound up needing to input validation at the AOP layer.
> 
> Probably the best place to start reading this diff is ApiSecurityIT to see the feature
this patch enables.
> 
> 
> Diffs
> -----
> 
>   config/pmd/custom.xml 521fd500146eb2e45f8e77c5c3c0cce330fedabb 
>   src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java 827e85b6cac8bd52359610bbc2002973a769705c

>   src/main/java/org/apache/aurora/scheduler/http/api/ApiModule.java 2408cd1f9af5f109a339f5c78134465cb117f7fc

>   src/main/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityModule.java
cc9cfd38239f909b8a77bd1a773e31ec30130d41 
>   src/main/java/org/apache/aurora/scheduler/http/api/security/AuthorizingParam.java 808987939b2c4a850e488dc033b50b0178e95ba0

>   src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthenticatingThriftInterceptor.java
PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptor.java
PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroThriftInterceptor.java
4e341e05c34b1be38f0040c26b671a0cc797a771 
>   src/main/java/org/apache/aurora/scheduler/http/api/security/StructFieldGetter.java
PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/http/api/security/StructGetter.java PRE-CREATION

>   src/main/java/org/apache/aurora/scheduler/http/api/security/StructGetters.java PRE-CREATION

>   src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java 5588d1793d6713ee4581ac9f938d9a8689acb315

>   src/main/java/org/apache/aurora/scheduler/thrift/aop/AopModule.java bdd2185f3a7a94b39bcec3c73455e970d87f0c6a

>   src/test/java/org/apache/aurora/scheduler/http/api/ApiBetaTest.java cafd10f6b705568588c1b92644b482003242fe2e

>   src/test/java/org/apache/aurora/scheduler/http/api/ApiIT.java ed284f46ac8f01bd6d9e317f995f16d6e666a68d

>   src/test/java/org/apache/aurora/scheduler/http/api/security/ApiSecurityIT.java 76cb691e6d7d4fada3a18fde73aceed7039bcaa4

>   src/test/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthenticatingThriftInterceptorTest.java
PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingParamInterceptorTest.java
PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/http/api/security/ShiroThriftInterceptorTest.java
d2ba2730c4509dc9a636fd32e9244b0d7fa2884f 
>   src/test/java/org/apache/aurora/scheduler/http/api/security/StructFieldGetterTest.java
PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/thrift/ThriftIT.java 1f24e7d47e1f777ffef19a73d01171fcacd31cdb

>   src/test/java/org/apache/aurora/scheduler/thrift/aop/AopModuleTest.java d20c9da3c4944ec8c50fe8d48b7e459ff1c7082b

> 
> Diff: https://reviews.apache.org/r/32329/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew -Pq build
> 
> 
> Thanks,
> 
> Kevin Sweeney
> 
>


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