问题描述
有关此问题:Remove lock on environment at every transaction end和How does Jetbrains YouTrack server scales over load?
如何实现Xodus锁定机制即使在非正常关闭应用程序的情况下也能正常工作的方法?例如,如果应用程序进程(打开了对Xodus环境的写访问权限)是kill
,则该锁将保留,并且由于.lck
文件的缘故,新的应用程序进程将无法再写入数据库,因此需要执行手册find . -name "xd.lck" -type f -delete
才能使其重新工作。
此外,对于产生同一应用程序的多个进程的多进程servlet容器/服务器也是如此。因此,问题 Xodus Locking机制如何在这些情况下很好地发挥作用?
解决方法
在“应用程序进程(已打开对Xodus环境的打开的写访问权限)被杀死”之后,锁立即释放。