代码在这里 https://github.com/cloudera/Impala/blob/cdh5-2.2.0_5.4.0/be/src/service/impala-server.cc 如果不想断开清除session,直接return
void ImpalaServer::ConnectionEnd(
const ThriftServer::ConnectionContext& connection_context) {
return;
unique_lock<mutex> l(connection_to_sessions_map_lock_);
ConnectionToSessionMap::iterator it =
connection_to_sessions_map_.find(connection_context.connection_id);
// Not every connection must have an associated session
if (it == connection_to_sessions_map_.end()) return;
LOG(INFO) << "Connection from client " << connection_context.network_address
<< " closed, closing " << it->second.size() << " associated session(s)";
BOOST_FOREACH(const TUniqueId& session_id, it->second) {
Status status = CloseSessionInternal(session_id, true);
if (!status.ok()) {
LOG(WARNING) << "Error closing session " << session_id << ": "
<< status.GetDetail();
}
}
connection_to_sessions_map_.erase(it);
}