HDFS-7367. HDFS short-circuit read cannot negotiate shared memory slot and file descriptors when SASL is enabled on DataTransferProtocol. Contributed by Chris Nauroth.

This commit is contained in:
Haohui Mai 2014-11-05 20:29:17 -08:00
parent 74d40b3d9e
commit ee44d8fb3f
2 changed files with 9 additions and 0 deletions

View File

@ -885,6 +885,10 @@ Release 2.6.0 - UNRELEASED
fails on Windows, because we cannot deny access to the file owner.
(Chris Nauroth via wheat9)
HDFS-7367. HDFS short-circuit read cannot negotiate shared memory slot and
file descriptors when SASL is enabled on DataTransferProtocol.
(Chris Nauroth via wheat9)
BREAKDOWN OF HDFS-6134 AND HADOOP-10150 SUBTASKS AND RELATED JIRAS
HDFS-6387. HDFS CLI admin tool for creating & deleting an

View File

@ -277,6 +277,11 @@ public class SaslDataTransferServer {
*/
private IOStreamPair getSaslStreams(Peer peer, OutputStream underlyingOut,
InputStream underlyingIn, final DatanodeID datanodeId) throws IOException {
if (peer.hasSecureChannel() ||
dnConf.getTrustedChannelResolver().isTrusted(getPeerAddress(peer))) {
return new IOStreamPair(underlyingIn, underlyingOut);
}
SaslPropertiesResolver saslPropsResolver = dnConf.getSaslPropsResolver();
Map<String, String> saslProps = saslPropsResolver.getServerProperties(
getPeerAddress(peer));