GBase 8a数据库集群同步报错 errno:97 errmsg:server gc lock error

GBase 8a数据库集群,在主备节点数据不一致时会启动同步进程,期间如果无法拿到锁,比如被其它进程占用,最终会报错server gc lock error。

报错信息:

原因:

同步时无法拿到表的集群锁。 有其它进程在占用。

排查:

gcadmin showlock | grep dr_map

查看那个IP,那个连接ID在拿着锁,从什么时候拿到的。

151的IP上, sessoin ID = 530295的,从2020-07-31 13:49:46就拿到了锁。

登陆151节点,查看该ID在做什么

看到是一个load在commit,已经执行了9万秒,20多小时了,估计有节点或网络故障。 如果是一个Query状态,那可能是一个执行时间超长的SQL. 建议确认业务进行优化。