HDFS-11908: libhdfs++: Authentication failure when first NN of a kerberized HA cluster is standby. Contributed by James Clampffer
This commit is contained in:
parent
e64ba87486
commit
23afd50865
|
@ -80,6 +80,7 @@ class RpcConnection : public std::enable_shared_from_this<RpcConnection> {
|
||||||
|
|
||||||
void SetEventHandlers(std::shared_ptr<LibhdfsEvents> event_handlers);
|
void SetEventHandlers(std::shared_ptr<LibhdfsEvents> event_handlers);
|
||||||
void SetClusterName(std::string cluster_name);
|
void SetClusterName(std::string cluster_name);
|
||||||
|
void SetAuthInfo(const AuthInfo& auth_info);
|
||||||
|
|
||||||
LockFreeRpcEngine *engine() { return engine_; }
|
LockFreeRpcEngine *engine() { return engine_; }
|
||||||
::asio::io_service &io_service();
|
::asio::io_service &io_service();
|
||||||
|
|
|
@ -383,6 +383,11 @@ void RpcConnection::SetClusterName(std::string cluster_name) {
|
||||||
cluster_name_ = cluster_name;
|
cluster_name_ = cluster_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RpcConnection::SetAuthInfo(const AuthInfo& auth_info) {
|
||||||
|
std::lock_guard<std::mutex> state_lock(connection_state_lock_);
|
||||||
|
auth_info_ = auth_info;
|
||||||
|
}
|
||||||
|
|
||||||
void RpcConnection::CommsError(const Status &status) {
|
void RpcConnection::CommsError(const Status &status) {
|
||||||
assert(lock_held(connection_state_lock_)); // Must be holding lock before calling
|
assert(lock_held(connection_state_lock_)); // Must be holding lock before calling
|
||||||
LOG_DEBUG(kRPC, << "RpcConnection::CommsError called");
|
LOG_DEBUG(kRPC, << "RpcConnection::CommsError called");
|
||||||
|
|
|
@ -176,10 +176,12 @@ std::shared_ptr<RpcConnection> RpcEngine::NewConnection()
|
||||||
|
|
||||||
std::shared_ptr<RpcConnection> RpcEngine::InitializeConnection()
|
std::shared_ptr<RpcConnection> RpcEngine::InitializeConnection()
|
||||||
{
|
{
|
||||||
std::shared_ptr<RpcConnection> result = NewConnection();
|
std::shared_ptr<RpcConnection> newConn = NewConnection();
|
||||||
result->SetEventHandlers(event_handlers_);
|
newConn->SetEventHandlers(event_handlers_);
|
||||||
result->SetClusterName(cluster_name_);
|
newConn->SetClusterName(cluster_name_);
|
||||||
return result;
|
newConn->SetAuthInfo(auth_info_);
|
||||||
|
|
||||||
|
return newConn;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RpcEngine::AsyncRpcCommsError(
|
void RpcEngine::AsyncRpcCommsError(
|
||||||
|
|
Loading…
Reference in New Issue