【標題】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
【修復版本】-