GaussDB(DWS)应急预案(八):建联卡主/pooler create conn
【摘要】 DWS建联卡主/pooler create conn应急预案
1.1 建联hang/pooler create conn(预计10min)
1.1.1 应急步骤
- 集群状态发现有节点异常,查看等待视图中有大量pooler create conn阻塞
select * from pgxc_thread_wait_status where wait_status not like '%wait node%' and wait_status not like '%quit%' and query_id = xxx;
select wait_status,wait_event,count(1) from pgxc_thread_wait_status where wait_status like '%pooler create conn%' group by 1,2 order by 3 desc;
- 若与CN建联卡住,且CN为down状态,且CN未能自动剔除,连接CCN,执行:
DROP NODE IF EXISTS cn_id; --替换成实际cn id,如cn_5001
SELECT pg_catalog.reload_active_coordinator();
SELECT * FROM pgxc_pool_reload();
- 若与DN建联卡住,且有任意DN为down状态,执行:
SELECT * FROM pgxc_pool_reload();
1.1.2 恢复确认
Pooler create conn状态消失,且不出现长时间阻塞。
1.1.3 原因分析
节点异常掉电或DN故障后,TCP连接没有经历完整的四次挥手断连,依赖自身的keepalive探活来检测故障,这个检测时间最长10分钟,在故障被检测到之前,tcp send照样进行,应用数据copy到tcp发送缓冲区,tcp发送缓冲区满后,在pqFlush之前进行pqSocketPoll连接可写检测,将阻塞在poll接口上,即CN上出现pooler create conn状态。
若未出现节点异常掉电或DN异常,需要排查集群通信情况。(如网卡多队列绑定、arm网卡加固、HCS网卡检测脚本等)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)