ArangoDB 3.8在简单查询时崩溃



我希望有人能给我指明正确的方向。自2017年以来,我一直热衷于使用ArangoDB,并开发了一个模型,该模型适用于探索学生学习的纵向分析。然而,自从搬到RocksDB和3.8之后,我开始经历崩溃,不知道为什么。我在我的Windows 10笔记本电脑上使用社区版,内存为16GB。我不认为电脑是问题所在,因为我在台式机上也遇到过这种情况。此外,Windows 10具有32GB RAM。我的数据库使用了两个集合:一个文档集合"Study",其中包含学生在一个有150万文档的模块中的学习尝试的详细信息;一个边缘集合"Path",包含研究尝试之间的联系,有280万条边缘<平均每个学生6个边缘。StartEnd文档集合为每个学生都有一对伪起点和终点。这些使得为每个学生制定学习路径变得容易。有不到一百万份文件。如果我不将结果数量限制在10个左右,过去运行时没有问题且没有限制的简单查询现在会崩溃arangoDB。例如,这个查询选择了一些有LIMIT的学生,收集他们的学习尝试(顶点(,只保留最少的数据返回。保留的对象是pi,一个8个字符的学生id;pres5,年份加字母,例如2012J;模块,4到7个字符的字符串。此查询在MMfiles:的以前版本上运行时不会出现问题

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

当我查看AragnoDB日志以查找此故障时。条目是这样的:

2021-11-07T21:43:44Z[1998]INFO[144fe]{general}使用存储引擎"rocksdb">
20211-07T21:43b7d]INFO[3b7d]{cluster}使用角色SINGLE启动
2022-11-07T21:43Z[1998]INFO[f6e0e]{aql}每个aql查询的内存限制自动设置为10165316813字节。若要修改此值,请调整启动选项--query.memory-limit
2021-11-07T21:43:50Z[1898]INFO[c1b63]{arangsearch}arangosearch维护:[1.1]提交线程,[1.1]合并线程
2022-11-07T21:43:50Z[18988]INFO[6ea38]{general}使用端点'http+tcp://127.0.0.1:8529'对于非加密请求
2021-11-07T21:43:51Z[1898]信息[cf3f4]{general}ArangoDB(版本3.8.1[win64](已准备就绪。玩得开心
2021-11-07T21:44:46Z[18988]INFO[87ff4]{crash}未处理的异常:线程5ec中地址00007ff7f761e02e处的c0000005
2021-21-07T2:44:47Z[18958]INFO[93315]{crash}使用构建标记编写了小型转储:C:\WINDOWS\TEMP\arangod_a15316\2021-11-07_21-44-46_1898_1516.dmp
2021-31-08T15:35:58Z[9048]INFO[e52b0]{general}ArangoDB 3.8.1[win64]64位。v3.8.1-0-g20aa2c22713-脏,VPack 0.1.35,RocksDB 6.8.0,ICU 64.2,V8 7.9.317,OpenSSL 1.1.1k 2021年3月25日

我正在处理的原始查询有点复杂,有一个COLLECT语句来收集圆周率和pres5周围的一些值(因为一些学生在同一演示中学习2/3模块。同样,这个查询在以前的ArangoDB安装中运行时不会出现问题,但现在导致ArangoDB像这样崩溃:

2021-11-06T20:11:29Z[66548]INFO[144fe]{general}使用存储引擎"rocksdb">
2021-111-06T2:011:29Z[66548]INFO[3bb7d]{cluster}使用角色SINGLE启动
2022-111-06T20:11:29Z[665448]INFO[f6e0e]{aql}每个aql查询的内存限制自动设置为10165316813字节。若要修改此值,请调整启动选项--query.memory-limit
2021-11-06T20:11:36Z[66548]INFO[c1b63]{arangsearch}arangosearch维护:[1.1]提交线程,[1.1]合并线程
2022-11-06T20:011:36Z*66548]INFO[6ea38]{general}使用端点'http+tcp://127.0.0.1:8529'对于非加密请求
2021-11-06T20:11:38Z[66548]信息[cf3f4]{general}ArangoDB(版本3.8.1[win64](已准备就绪。玩得开心
2021-11-07T07:44:23Z[66548]INFO[3278a]{general}收到系统关闭,开始关闭序列
2021-1 1-07T007:44:23Z[6548]INFO[63d54]{queries}AQL功能关闭,等待0个注册查询终止,等待1个功能租约释放
202 1-11-07T77:45:22Z[5968]INFO[e52b0]{general}ArangoDB 3.8.1[win64]64位,使用构建标签/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 2021年3月25日

非常感谢。Chris

如果您阅读了3.8的发行说明,其中提到了新的内存限制选项,那么您可以覆盖这些选项。

最新更新