fastdb在為了保證資料同步,使用了sem作為鎖機制,同時還使用了shm作為記錄讀寫操作計數器,所以如果程式異常中止,沒有正常的close、commit資料的話,同時訪問該庫的程式將會被掛死。
在自帶的文件中,作者提出如果出現這種情況,把所有使用這個庫的程式退出後,重新啟動就好了。這個基本能解決問題,在unix/linux環境下,借助fuser把所有使用庫的程式停掉即可。
但是,在實際業務中,遇到這種情況,如果把其他程式都停掉是相當不可取的。實際上,作者在database.cpp中有乙個watchdog的功 能,只是在預設的情況下,是不編譯的。所以,只要修改一下database的編譯選項,加上-dauto_detect_process_crash的 話,就能夠解決這個問題。
重新編譯後,fastdb會自動起來乙個執行緒,來檢測異常退出的情況,如果出現異常退出的話,程式將自動將鎖清理
FastDB程式崩潰後的鎖清理
fastdb在為了保證資料同步,使用了sem作為鎖機制,同時還使用了shm作為記錄讀寫操作計數器,所以如果程式異常中止,沒有正常的close commit資料的話,同時訪問該庫的程式將會被掛死。在自帶的文件中,作者提出如果出現這種情況,把所有使用這個庫的程式退出後,重新啟動就好了。這個基本能解決問題...
程式崩潰後如何更好的反饋資訊
我們使用windows都知道,整個windows和微軟提供的應用軟體的穩定性和崩潰後的體驗是逐步提公升的。在大牛的作品 軟體除錯 中有描述。在windows下,軟體出錯,常見的報告手段 1 事件日誌 這裡記錄了很多關鍵的錯誤資訊 2 崩潰報告 可以自動提交錯誤的資訊,或者手動提交,以不斷的改進軟體和...
IIS 崩潰的後的感受
我的iis 崩潰後,從控制面板中 重新安裝也沒有辦法,系統在安裝時仍然不能正確安裝 在控制面板中解除安裝掉,也是停在那裡,無法刪除。鬱悶啊。找到下面的指令碼,算是幫了自己的大忙。iis.txt components iis common on iis inetmgr on iis www on ii...