首页 > 解决方案 > tdb2.tdbcompact 命令行工具返回 Failed to get a lock: file

问题描述

我正在运行 apache-jena-fuseki-3.13-1 并且刚刚从其 bin 目录中找到 tdb2.tdbcompact。我应该每晚运行 tdb2.tdbcompact 以防止我的 jena-fuseki 磁盘空间不足,但现在我在运行时收到错误消息(无法获得锁:文件):

miettinj@ramen:~/jena> ./apache-jena-3.13.1/bin/tdb2.tdbcompact --loc=./apache-jena-fuseki-                        3.13.1/run/databases/test_TDB2
org.apache.jena.dboe.DBOpEnvException: Failed to get a lock: file='/srv/work/miettinj/jena/apache-jena-fuseki-3.13.1/run/databases/test_TDB2/tdb.lock': held by process 6136

ps -x|grep 6136
6136 ?        Sl    30:48 /usr/lib64/jvm/java/bin/java -Xmx1200M -cp /srv/work/miettinj/jena/apache-jena-fuseki-3.13.1/fuseki-server.jar 

标签: jena

解决方案


“由进程 6136 持有”

另一个进程正在使用数据库。压缩必须从使用数据库的过程中进行。

Apache Jena Fuseki Jena 3.17.0 添加了一个函数端点,以便管理员可以在正在运行的 Fuseki 服务器上请求压缩。


推荐阅读