diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.h b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.h index 7a671fe6d3..449a1b6626 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.h +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.h @@ -80,6 +80,7 @@ class RpcConnection : public std::enable_shared_from_this { void SetEventHandlers(std::shared_ptr event_handlers); void SetClusterName(std::string cluster_name); + void SetAuthInfo(const AuthInfo& auth_info); LockFreeRpcEngine *engine() { return engine_; } ::asio::io_service &io_service(); diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.cc b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.cc index 198bcdced9..06b16168fe 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.cc +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.cc @@ -383,6 +383,11 @@ void RpcConnection::SetClusterName(std::string cluster_name) { cluster_name_ = cluster_name; } +void RpcConnection::SetAuthInfo(const AuthInfo& auth_info) { + std::lock_guard state_lock(connection_state_lock_); + auth_info_ = auth_info; +} + void RpcConnection::CommsError(const Status &status) { assert(lock_held(connection_state_lock_)); // Must be holding lock before calling LOG_DEBUG(kRPC, << "RpcConnection::CommsError called"); diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc index 22c0e74c6e..98c41dad1f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc @@ -176,10 +176,12 @@ std::shared_ptr RpcEngine::NewConnection() std::shared_ptr RpcEngine::InitializeConnection() { - std::shared_ptr result = NewConnection(); - result->SetEventHandlers(event_handlers_); - result->SetClusterName(cluster_name_); - return result; + std::shared_ptr newConn = NewConnection(); + newConn->SetEventHandlers(event_handlers_); + newConn->SetClusterName(cluster_name_); + newConn->SetAuthInfo(auth_info_); + + return newConn; } void RpcEngine::AsyncRpcCommsError(