我只是想终止被卡住的查询,但它会抛出一个错误。
127.0.0.1:8529@testapp> require("org/arangodb/aql/queries").kill("2418");
JavaScript exception in file '/usr/share/arangodb3/js/client/modules/@arangodb/arangosh.js' at 100,7: ArangoError 1591: cannot kill query '2418' ! throw error; ! ^ stacktrace: ArangoError: cannot kill query '2418' at Object.exports.checkRequestResult (/usr/share/arangodb3/js/client/modules/@arangodb/arangosh.js:98:21) at Object.exports.kill (/usr/share/arangodb3/js/client/modules/@arangodb/aql/queries.js:107:12) at :1:37
最佳答案
显然查询没有被终止,但这不一定是值得担心的事情。 例如,如果在运行kill命令时未发现服务器中正在运行此类查询,则会引发“ArangoError 1591”(如上面的错误详细信息所示)。
造成这种情况的原因有以下两个:
- 不存在具有指定 ID 的此类查询(“kill”命令中的查询 ID 拼写错误)
- 执行“kill”命令时查询已经结束
后一种情况最有可能发生。可能总会出现这样的情况:发现某个查询运行了很长时间,因此决定杀死它。但查询可能恰好在kill命令实际执行之前完成,这种情况下的结果也会是一个错误,确切地说是错误1591(查询未找到)。
关于arangodb 终止查询不起作用需要 ("org/arangodb/aql/queries").kill ("2418"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828621/