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

Todd Lipcon commented on MAPREDUCE-4417:
----------------------------------------

bq. The javadoc style for 'Returns BLAH' and then '@return BLAH' is Sun javadoc 
sytle.
Ew. That's disgusting. Oh well.

bq. the ReloadingX509TrustManager will work with an empty keystore if the 
keystore file is not avail at initialization time, and if the keystore file 
becomes available later one, it will be loaded. WARNs are logged while the file 
is not present, so it won't go unnoticed.

WARNs in the logs are often not noticed. Don't you think it's simpler to just 
fail if the conf is not present? If someone configures this and doesn't create 
the file (or the file is unreadable due to a permissions error), I think it's 
friendlier to fail fast. Otherwise they'll just end up seeing strange 
downstream issues like client certs not being properly trusted, which will be 
more difficult to root-cause back to the trust store configuration without log 
spelunking.

bq. If reload() fails to reload the new keystore, it assumes there are not 
certs and runs empty until the next reload attempt. Seems a safer assumption 
that continuing running with obsolete keys.

My worry here is that people might be using a conf management system to push 
out the key store files. If the reload happens to trigger right in the middle 
of a conf mgmt update, and the update is non-atomic, it will see an invalid 
keystore. I wouldn't want the TT to revert to an empty key store until the next 
reload interval in that case.

bq. While hadoop.ssl.enabled only applies to shuffle, the intention is to use 
it for the rest of the HTTP endpoints. Thus, a single know would enable SSL. 
That is why the name of the property and its location (in core-default.xml)

Given it doesn't currently affect the other HTTP endpoints, I find this very 
confusing. Why not make a separate config for now, and then once it affects 
more than just the shuffle, you can change the default for 
{{mapred.shuffle.use.ssl}} to {{${hadoop.use.ssl}}} to pick up the system-wide 
default.

bq. In the TestSSLFactory, the Assert.fail() statements, are sections the test 
should not make it; they are used for negative tests.
I get that. But, if the test breaks, you'll end up with a meaningless failure, 
instead of a message explaining why it failed. If you let the exception fall 
through, then the failed unit test would actually have a stack trace that 
explains why it failed, which aids in debugging.

bq. Client certs are disabled by default. If they are per job, yes they could 
be shipped via DC. This would require a alternate implementation of the 
KeyStoresFactory, thus the mechanism is already in place.
Does it need an alternate implementation? The distributed cache files can be 
put on the classpath already, in which case the existing keystore-loading code 
should be able to find them. The only change would be in the documentation -- 
explaining that the client should ship the files via distributed cache rather 
than putting them in HADOOP_CONF_DIR. Why wouldn't that be enough?
                
> add support for encrypted shuffle
> ---------------------------------
>
>                 Key: MAPREDUCE-4417
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4417
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: mrv2, security
>    Affects Versions: 2.0.0-alpha
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>             Fix For: 2.1.0-alpha
>
>         Attachments: MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, 
> MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, 
> MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, 
> MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, MAPREDUCE-4417.patch, 
> MAPREDUCE-4417.patch
>
>
> Currently Shuffle fetches go on the clear. While Kerberos provides 
> comprehensive authentication for the cluster, it does not provide 
> confidentiality. 
> When processing sensitive data confidentiality may be desired (at the expense 
> of job performance and resources utilization for doing encryption).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to