You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArangoDB 3.8执行简单查询时崩溃问题求助

ArangoDB 3.8 RocksDB引擎频繁崩溃,BFS查询超出小范围LIMIT即触发崩溃(Windows平台)

我从2017年开始使用ArangoDB,开发了一个用于学生学习纵向分析的模型,一直运行得很稳定。但自从切换到RocksDB存储引擎并升级到3.8版本后,数据库频繁崩溃,我实在找不到问题根源,希望能得到大家的指引。

环境信息

我在两台Windows 10设备上使用Community版3.8.1,均出现相同问题,排除硬件因素:

  • 16GB内存的笔记本电脑
  • 32GB内存的台式机

数据库集合详情

我的数据库包含以下三个核心集合:

  • 文档集合Study:存储学生模块学习尝试的详细信息,共150万条文档
  • 边集合Path:存储学习尝试间的关联关系,共280万条边,平均每个学生的边数少于6条
  • 文档集合StartEnd:为每个学生存储一对虚拟起始和结束顶点,方便生成学习路径,共近100万条文档

问题复现场景

此前在MMfiles存储引擎的旧版本中,无限制的简单查询都能正常运行,但现在如果不将查询结果数量限制在10条左右,就会直接导致ArangoDB崩溃。

举个例子,下面的查询是从用户ID列表temp2中选取部分用户,通过BFS遍历获取他们的学习尝试顶点,仅保留必要字段返回。这个查询在旧版本MMfiles中完全正常,但现在只要LIMIT的范围稍大就会崩溃:

FOR id in temp2 //list of user ids
LIMIT 5,10 //have tried various combinations of values within LIMIT
FOR v,e,p IN 1..10 OUTBOUND CONCAT("StartEnd/",id._key,"-start") Path
OPTIONS {"bfs":true, uniqueVertices :"global", ignoreErrors:true}
FILTER !IS_NULL(v.module) //removes the final vertex for each user, as always null
LET summary=KEEP(v,"pi","pres5", "module") //retain 3 objects, id, presentation, module
RETURN summary

该查询触发崩溃的日志:

2021-11-07T21:43:44Z [18988] INFO [144fe] {general} using storage engine 'rocksdb'
2021-11-07T21:43:44Z [18988] INFO [3bb7d] {cluster} Starting up with role SINGLE
2021-11-07T21:43:44Z [18988] INFO [f6e0e] {aql} memory limit per AQL query automatically set to 10165316813 bytes. to modify this value, please adjust the startup option --query.memory-limit
2021-11-07T21:43:50Z [18988] INFO [c1b63] {arangosearch} ArangoSearch maintenance: [1..1] commit thread(s), [1..1] consolidation thread(s)
2021-11-07T21:43:50Z [18988] INFO [6ea38] {general} using endpoint 'http+tcp://127.0.0.1:8529' for non-encrypted requests
2021-11-07T21:43:51Z [18988] INFO [cf3f4] {general} ArangoDB (version 3.8.1 [win64]) is ready for business. Have fun!
2021-11-07T21:44:46Z [18988] INFO [87ff4] {crash} Unhandled exception: c0000005 at address 00007ff7f761e02e in thread 5ec
2021-11-07T21:44:47Z [18988] INFO [93315] {crash} Wrote minidump: C:\WINDOWS\TEMP\arangod_a15316\2021-11-07T21-44-46_18988_1516.dmp
2021-11-08T15:35:58Z [9048] INFO [e52b0] {general} ArangoDB 3.8.1 [win64] 64bit, using build tags/v3.8.1-0-g20aa2c22713-dirty, VPack 0.1.35, RocksDB 6.8.0, ICU 64.2, V8 7.9.317, OpenSSL 1.1.1k 25 Mar 2021

我原本使用的更复杂的查询(包含COLLECT语句聚合pi和pres5相关的值,部分学生会在同一学期学习2-3个模块),在旧版本中运行正常,现在同样会导致数据库崩溃,对应的日志如下:

2021-11-06T20:11:29Z [66548] INFO [144fe] {general} using storage engine 'rocksdb'
2021-11-06T20:11:29Z [66548] INFO [3bb7d] {cluster} Starting up with role SINGLE
2021-11-06T20:11:29Z [66548] INFO [f6e0e] {aql} memory limit per AQL query automatically set to 10165316813 bytes. to modify this value, please adjust the startup option --query.memory-limit
2021-11-06T20:11:36Z [66548] INFO [c1b63] {arangosearch} ArangoSearch maintenance: [1..1] commit thread(s), [1..1] consolidation thread(s)
2021-11-06T20:11:36Z [66548] INFO [6ea38] {general} using endpoint 'http+tcp://127.0.0.1:8529' for non-encrypted requests
2021-11-06T20:11:38Z [66548] INFO [cf3f4] {general} ArangoDB (version 3.8.1 [win64]) is ready for business. Have fun!
2021-11-07T07:44:23Z [66548] INFO [3278a] {general} system-shutdown received, beginning shut down sequence
2021-11-07T07:44:23Z [66548] INFO [63d54] {queries} AQLFeature shutdown, waiting for 0 registered queries to terminate and for 1 feature leases to be released
2021-11-07T07:45:22Z [5968] INFO [e52b0] {general} ArangoDB 3.8.1 [win64] 64bit, using build tags/v3.8.1-0-g20aa2c22713-dirty, VPack 0.1.35, RocksDB 6.8.0, ICU 64.2, V8 7.9.317, OpenSSL 1.1.1k 25 Mar 2021

非常感谢各位的帮助!

内容的提问来源于stack exchange,提问作者Chris Edwards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 00:53:11