解除非正常关闭应用程序的锁定状态

问题描述

有关此问题:Remove lock on environment at every transaction endHow does Jetbrains YouTrack server scales over load?

如何实现Xodus锁定机制即使在非正常关闭应用程序的情况下也能正常工作的方法?例如,如果应用程序进程(打开了对Xodus环境的写访问权限)是kill,则该锁将保留,并且由于.lck文件的缘故,新的应用程序进程将无法再写入数据库,因此需要执行手册find . -name "xd.lck" -type f -delete才能使其重新工作。

此外,对于产生同一应用程序的多个进程的多进程servlet容器/服务器也是如此。因此,问题 Xodus Locking机制如何在这些情况下很好地发挥作用?

解决方法

在“应用程序进程(已打开对Xodus环境的打开的写访问权限)被杀死”之后,锁立即释放。