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

Xiao Chen commented on HADOOP-13597:
------------------------------------

Thanks John for revving and others for reviewing.

My comments below:
- {{HttpServer2}}: Don't understand the {{skipSecretProvider}}. Could you 
explain and add some comments/javadocs? Is this about to the 
AuthenticationFilter and it's related secret providers startup tricks?
- {{HttpServer2}}: Possible to have {{createHttpsChannelConnector}} call 
{{createHttpChannelConnector}} first, to reduce some duplicate codes? The 
{{httpConfig.setSecureScheme(HTTPS_SCHEME);}} line seems reasonable to be 
inside the method too.
- I found the {{AccessLoggingConfiguration}} class naming confusing. Looking at 
the class javadoc didn't help much either - I only figured out until looking at 
the code usage. Can't find a good replacement in my vocabulary (appreciate if 
anyone else has better naming), but we should state in javadoc: 1 this a 
configuration object that logs each access.  2. it redacts sensitive 
information. Actually, maybe this is better to be a composites a 
{{Configuration}} rather than inherits? At least whoever uses it later don't 
have to figure out which method is an Override etc. (BTW, currently missing 
{{@Override}} annotations on all methods, and {{set}} seems to be missing a 
{{super.set}}.)
- {{KMSWebServer}}: Nit - I think hadoop code mostly have static import on 1 
line and ignore the 80-char rules.
- {{KMSWebServer}}: Totally theoretical, it may be good to also have the 
{{isAlive}} method, and probably add a {{waitActive}}-ish method in the 
MiniKMS, so interested tests can call that and reduce flaky tests due to start 
up race.
- Searching for {{tomcat}}, see several nitty references still: 
{{AuthenticationFiler}}'s var name {{isInitializedByTomcat}}, 
{{CommandsManual.md}} and {{SecureMode.md}}, KMS's doc {{index.md.vm}}, and 
some code comments etc.

- For the passwords, agree with Robert on supportability. However I also see 
similar code in {{DFSUtil}} ({{loadSslConfToHttpServerBuilder}} and 
{{getPassword}}). Was these copied over? We should at least move that to a 
common util, and avoid this level of duplication. This will probably leave us 
not having to change {{Configuration}}, but adding a wrapper util. Or per 
Wei-Chiu's suggestion, maybe not needed any more. Appreciate more javadocs here 
too, as to why such method is needed.
- Didn't see answer to Allen's ask about unit tests. (Take a look at 
hadoop-common-project/hadoop-common/src/test/scripts if you're wondering how 
that's done).
- Nit: {{kms-site.xml}} is following other -site.xmls, to have a comment line 
"put site-specific...", which is good. Please follow them closer to have this 
line before the {{<configuration>}} element. :)

> Switch KMS from Tomcat to Jetty
> -------------------------------
>
>                 Key: HADOOP-13597
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13597
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: kms
>    Affects Versions: 2.6.0
>            Reporter: John Zhuge
>            Assignee: John Zhuge
>         Attachments: HADOOP-13597.001.patch, HADOOP-13597.002.patch, 
> HADOOP-13597.003.patch
>
>
> The Tomcat 6 we are using will reach EOL at the end of 2017. While there are 
> other good options, I would propose switching to {{Jetty 9}} for the 
> following reasons:
> * Easier migration. Both Tomcat and Jetty are based on {{Servlet 
> Containers}}, so we don't have change client code that much. It would require 
> more work to switch to {{JAX-RS}}.
> * Well established.
> * Good performance and scalability.
> Other alternatives:
> * Jersey + Grizzly
> * Tomcat 8
> Your opinions will be greatly appreciated.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to