【标题】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

【修复版本】-

07-23 18:21