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. fails on Windows, because we cannot deny access to the file owner.
(Chris Nauroth via wheat9) (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 BREAKDOWN OF HDFS-6134 AND HADOOP-10150 SUBTASKS AND RELATED JIRAS
HDFS-6387. HDFS CLI admin tool for creating & deleting an 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, private IOStreamPair getSaslStreams(Peer peer, OutputStream underlyingOut,
InputStream underlyingIn, final DatanodeID datanodeId) throws IOException { InputStream underlyingIn, final DatanodeID datanodeId) throws IOException {
if (peer.hasSecureChannel() ||
dnConf.getTrustedChannelResolver().isTrusted(getPeerAddress(peer))) {
return new IOStreamPair(underlyingIn, underlyingOut);
}
SaslPropertiesResolver saslPropsResolver = dnConf.getSaslPropsResolver(); SaslPropertiesResolver saslPropsResolver = dnConf.getSaslPropsResolver();
Map<String, String> saslProps = saslPropsResolver.getServerProperties( Map<String, String> saslProps = saslPropsResolver.getServerProperties(
getPeerAddress(peer)); getPeerAddress(peer));