知识库

execution_guard_enabled 会在我的 Neo4j 版本中工作吗?

背景

从一开始,execution guard(执行保护)就不打算供公众使用。然而,这一功能在产品中存在,虽然未被文档记录,但它能够防止长时间运行的查询占用大量资源并导致其他下游影响。因此,它曾被写成博客,并被需要此功能的用户使用。

说明

如果您使用的是 Neo4j 2.1.x 或更早的版本,它仍然可以工作。如果您使用的是 2.2.x 到 3.0.x,则它将不起作用,除非您使用核心 Java API。如果您使用的是 3.1.x,请参阅 dbms.transaction.timeout

为什么?

Cypher 在 2.2 之前在后台使用核心 Java API,因此执行保护实际上是实现于该层。我们在 2.2 进行了一次重大更改,允许 Cypher 使用更底层、更高效的 Cursor API,之后 Cypher 查询不再受执行保护的约束。由于执行保护是未记录、未受支持的“特性”,我们便没有再对其进行维护。

想在产品中再次看到此功能吗?请在我们的公共 Slack 频道中发送消息,提供产品反馈

© . This site is unofficial and not affiliated with Neo4j, Inc.