本文主要介绍在专有云环境中,OTS因调用Nuwa创建锁超时导致分区加载失败的解决方法。
说明:在使用kill
命令结束sqlonline_worker进程的机器上,因为没有分区加载,所有不会影响客户业务。
在加载分区时,OTS端会调用Nuwa Client来创建锁,由于Nuwa Client判定这个会话过期,出现no valid session
的问题,导致无法创建锁,使得分区无法加载,影响服务。正常情况下,OTS端会在写pangu路径上检查,如果发现Nuwa Client会话过期,会重启进程,但是如果sqlonline_worker并没有分区,不会触发写服务,进程就不会重启。
sql cpl系统显示类似如下。
ps -ef | grep sqlonline_worker系统显示类似如下,红框中内容为日志所在目录。
grep [$Partition_ID] sqlonline_worker.LOG
说明:[$Partition_ID]为环境检查第2步输出的PartitionID。若过滤到以下报错,则是因为连接nuwa会话超时导致,关键报错信息为
NoValidSession: Session expired by client side
。
Create nuwa file fail: file name:nuwa://tianji-A-8a00:10240/sys/fuxi_partition_lock/sqlonline-OTS/SqlWorkerRole/partition_lock_00ace7bf-298a-47eb-ada2-aa57d041f8de error:<unknown throw location>: NoValidSession: Session expired by client side, 0x1f6ed7b4e1524f0b系统显示类似如下。
apsara_base.log
日志文件,确认有连接nuwa zk超时信息。kill
命令结束这台机器上的sqlonline_worker进程,重新连接Nuwa,具体操作如下:
ps -ef | grep sqlonline_worker系统显示类似如下。
kill -9 [$Pid]
说明:[$Pid]为进程ID。
参见环境检查,执行以下命令,查看分区加载是否完成,如果没分区ID输出,则说明加载完成。
sql cpl
暂无回滚方法。
在文档使用中是否遇到以下问题
更多建议
匿名提交