[4.1] refine logging of tx-ctx gc caused by server inactive
This commit is contained in:
parent
892a3414d0
commit
faad7ce57a
@ -134,9 +134,9 @@ int ObAliveServerMap::refresh(common::ObIArray<ObAddr> &active_server_list,
|
||||
LOG_WARN("invalid argument, empty server list", K(ret));
|
||||
} else {
|
||||
ObLatchWGuard guard(lock_, ObLatchIds::ALIVE_SERVER_TRACER_LOCK);
|
||||
if (OB_FAIL(refresh_server_list(active_server_list, active_servers_))) {
|
||||
if (OB_FAIL(refresh_server_list(active_server_list, active_servers_, "active"))) {
|
||||
LOG_WARN("fail to refresh server list", KR(ret), K(active_server_list));
|
||||
} else if (OB_FAIL(refresh_server_list(inactive_server_list, inactive_servers_))) {
|
||||
} else if (OB_FAIL(refresh_server_list(inactive_server_list, inactive_servers_, "inactive"))) {
|
||||
LOG_WARN("fail to refresh server list", KR(ret), K(inactive_server_list));
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
@ -147,12 +147,16 @@ int ObAliveServerMap::refresh(common::ObIArray<ObAddr> &active_server_list,
|
||||
}
|
||||
|
||||
int ObAliveServerMap::refresh_server_list(const ObIArray<ObAddr> &server_list,
|
||||
hash::ObHashSet<ObAddr, common::hash::NoPthreadDefendMode> &servers)
|
||||
hash::ObHashSet<ObAddr, common::hash::NoPthreadDefendMode> &servers,
|
||||
const char *server_list_type)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
if (!is_inited_) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("not init", K(ret));
|
||||
} else if (OB_ISNULL(server_list_type)) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("server_list_type is null", K(ret));
|
||||
} else {
|
||||
FOREACH_CNT_X(s, server_list, OB_SUCC(ret)) {
|
||||
ret = servers.exist_refactored(*s);
|
||||
@ -160,12 +164,12 @@ int ObAliveServerMap::refresh_server_list(const ObIArray<ObAddr> &server_list,
|
||||
ret = OB_SUCCESS;
|
||||
} else if (OB_HASH_NOT_EXIST == ret) {
|
||||
if (OB_FAIL(servers.set_refactored(*s))) {
|
||||
LOG_WARN("add server hash set failed", K(ret), "server", *s);
|
||||
LOG_WARN("add server hash set failed", KCSTRING(server_list_type), K(ret), "server", *s);
|
||||
} else {
|
||||
LOG_INFO("add server to alive server map", "server", *s);
|
||||
_LOG_INFO("add server to %s server map: %s", server_list_type, to_cstring(s));
|
||||
}
|
||||
} else {
|
||||
LOG_WARN("hash set exist failed", K(ret), "server", *s);
|
||||
LOG_WARN("hash set exist failed", KCSTRING(server_list_type), K(ret), "server", *s);
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret) && servers.size() > server_list.count()) {
|
||||
@ -173,15 +177,15 @@ int ObAliveServerMap::refresh_server_list(const ObIArray<ObAddr> &server_list,
|
||||
FOREACH_X(s, servers, OB_SUCC(ret)) {
|
||||
if (!has_exist_in_array(server_list, s->first)) {
|
||||
if (OB_FAIL(remove_set.push_back(s->first))) {
|
||||
LOG_WARN("add server to array failed", K(ret), "server", s->first);
|
||||
LOG_WARN("add server to array failed", KCSTRING(server_list_type), K(ret), "server", s->first);
|
||||
}
|
||||
}
|
||||
}
|
||||
FOREACH_X(s, remove_set, OB_SUCC(ret)) {
|
||||
if (OB_FAIL(servers.erase_refactored(*s))) {
|
||||
LOG_WARN("erase from hash set failed", K(ret), "server", *s);
|
||||
LOG_WARN("erase from hash set failed", KCSTRING(server_list_type), K(ret), "server", *s);
|
||||
} else {
|
||||
LOG_INFO("remove server from alive server map", "server", *s);
|
||||
_LOG_INFO("remove server from %s server map: %s", server_list_type, to_cstring(*s));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,8 @@ public:
|
||||
|
||||
private:
|
||||
virtual int refresh_server_list(const common::ObIArray<common::ObAddr> &server_list,
|
||||
common::hash::ObHashSet<common::ObAddr, common::hash::NoPthreadDefendMode> &servers);
|
||||
common::hash::ObHashSet<common::ObAddr, common::hash::NoPthreadDefendMode> &servers,
|
||||
const char *server_list_type);
|
||||
private:
|
||||
bool is_inited_;
|
||||
mutable common::ObLatch lock_;
|
||||
|
@ -1241,6 +1241,7 @@ int ObPartTransCtx::check_scheduler_status()
|
||||
*this);
|
||||
// scheduler已宕机
|
||||
} else if (!is_alive) {
|
||||
TRANS_LOG(WARN, "scheduler server is not alive, tx ctx will do gc");
|
||||
if (OB_FAIL(gc_ctx_())) {
|
||||
TRANS_LOG(WARN, "force kill part_ctx error", KR(ret), "context", *this);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user