【标题】yac修改参数后关闭数据库hang住
【问题分类】性能优化
【关键词】YashanDB, yac, shutdown hang
【问题描述】修改yac参数后执行shutdown immediate,数据库hang住。
【问题原因分析】
-
Shutdown操作时,线程在获取gInstance->trigger->sema信号量时卡住。
-
该信号量应由main线程在执行shutdownWait()时释放,但在执行SERVER_CMD_SHUTDOWN命令时,jobManagerStop()操作卡住。
-
job queue线程在doUpdateSysJob更新时卡在checkRedoFreeSpace()接口,导致死循环。
-
SHM_POOL_SIZE配置过小,导致yfs共享内存不足,影响db模块的archProc创建文件,进而影响redo日志的使用,需要调整SHM_POOL_SIZE参数。
【解决/规避方法】检查配置文件设置。
【影响范围】23.1 - 23.1.1.200
【修复版本】-