[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13706146#comment-13706146
 ] 

Jason Lowe commented on MAPREDUCE-5265:
---------------------------------------

Thanks for the updates, Ashwin.  I think this is a cleaner approach with less 
boilerplate code for the protocol support.

bq. All the findbugs warnings are due to sources generated by ProtocolBuffers. 
How do we handle this ?

Normally this is handled by telling findbugs to avoid analyzing the generated 
protocol buffer source files.  This can be accomplished by adding the following 
to hadoop-mapreduce-project/dev-support/findbugs-exclude.xml:

{code}
     <Match>
       <Package name="org.apache.hadoop.mapreduce.v2.hs.proto" />
     </Match>
{code}

More comments on the patch:

* The new history server configs should be added to mapred-default.xml with 
their default values for documentation purposes.  This was in previous patches 
but was dropped.
* RefreshUserMappingsProtocol.proto, GetUserMappingsPrototcol.proto, and the 
supporting glue code is duplicated from HDFS -- is there a way we can simply 
use the HDFS version?  I see the PB glue in HDFS is already marked 
LimitedPrivate for HDFS and MapReduce, so it seems like we should just be using 
that rather than duplicating it if possible.
* It's a bit odd to have RefreshAdminAclsProtocol in hadoop-common but the 
protocol buffer support for it is only in the history server.  Arguably either 
the PB code should be in hadoop-common or we should move 
RefreshAdminAclsProtocol to hadoop-mapreduce-client-hs.  If we do the latter 
and eventually it is commonized then we can derive from the common version for 
backwards compatibility.
* HSAdminServer should be a service (it already has start/stop methods like a 
service), and that would let us simply bundle it under the JobHistoryServer 
composite service like the other services in the history server.  The conf can 
arrive via serviceInit and the RPC setup can be done there.
* Nit: "HSAdminServer" string should be a static final to avoid typos and make 
it easier to change (e.g.: to HSAdminService)
* Nit: The mapred script has a tab in the usage statement which should be 
converted to spaces to be consistent with the other formatting
* Nit: TestHSAdminServer has some unused code (PrintStream import and 
outContent field)
                
> Need an admin interface on history server with the ability to refresh super 
> user groups,refresh user to group mappings,refresh admin acls,get groups 
> given a username.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5265
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5265
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: jobhistoryserver
>    Affects Versions: 2.1.0-beta
>            Reporter: Jason Lowe
>            Assignee: Ashwin Shankar
>         Attachments: JHS_REFRESH-2.txt, JHS_REFRESH-4.txt, JHS_REFRESH-6.txt, 
> JHS_REFRESH-8.txt, JHS_REFRESH-9.txt
>
>
> The history server needs an admin interface with the ability to
> 1. refresh the super user groups configurations,
> 2. refresh user to group mappings,
> 3. refresh its admin acls,
> 4. get groups given a username 
> without requiring a restart of the history server.  This is analogous to the  
> -refreshSuperUserGroupsConfiguration capabilities provided by hdfs dfsadmin 
> and yarn rmadmin. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to