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 61d62e9c127..a8820c215b0 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 @@ -282,8 +282,10 @@ void RpcConnectionImpl::Disconnect() { assert(lock_held(connection_state_lock_)); // Must be holding lock before calling request_over_the_wire_.reset(); - next_layer_.cancel(); - next_layer_.close(); + if (connected_) { + next_layer_.cancel(); + next_layer_.close(); + } connected_ = false; } }