我希望有人能给我指出正确的方向。我从2017年开始就热切地使用ArangoDB,并开发了一个模型,在探索学生学习的纵向分析方面效果很好。然而,自从转移到RocksDB和3. 8之后,我已经开始遇到崩溃,不知道为什么。我在我的Windows 10笔记本电脑上使用社区版,内存为16 GB。我不知道I don“我不认为是电脑的问题,因为我在我的台式机上也遇到过。还有,Windows 10有32 GB的RAM。我的数据库使用两个集合:文档集合“Study”,其包含关于学生对具有150万个文档的模块的学习尝试的细节;边缘集合“Path”,其包含研究尝试之间的链接,具有280万个边缘;平均每个学生少于6条边。StartEnd文档集合为每个学生提供了一对虚拟的开始和结束顶点。这使得为每个学生生成学习路径变得很容易。有不到一百万个文档。过去运行时没有问题、没有限制的简单查询,现在如果我不将结果数量限制在10个左右,就会导致arangoDB崩溃。例如,这个查询用LIMIT选择一些学生,收集他们的学习尝试(顶点),只保留最少的数据给RETURN。pres 5,年份加字母,例如2012 J; module,一个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- 07 T21:43:44 Z [18988]信息[144 fe] {常规}使用存储引擎'rocksdb'
2021-11- 07 T21:43:44 Z [18988]信息[3bb 7 d] {集群}正在以单一角色启动
2021-11- 07 T21:43:44 Z [18988] INFO [f6 e0 e] {aql}每个AQL查询的内存限制自动设置为10165316813字节。要修改此值,请调整启动选项--query.memory-limit
2021-11- 07 T21:43:50 Z [18988]信息[c1 b63] {阿朗戈搜索}阿朗戈搜索维护:[1..1]个提交线程,[1..1]个合并线程
2021-11- 07 T21:43:50 Z [18988]信息[6 ea 38] {常规}使用端点“http+tcp://127.0.0.1:8529”进行非加密请求
2021-11- 07 T21:43:51 Z [18988] INFO [cf 3f 4] {通用} ArangoDB(版本3.8.1 [win 64])已经准备好投入业务了,玩得开心!
2021-11- 07 T21:44:46 Z [18988]信息[87 ff 4] {崩溃}未处理的异常:线程5ec中地址00007 ff 7 f761 e02 e处的c 0000005
2021-11- 07 T21:44:47 Z [18988]信息[93315] {崩溃}写入小型转储:C:\窗口\温度\区域
2021-11- 08 T15:35:58 Z [9048]信息[e52 b 0] {常规} ArangoDB 3.8.1 [win 64] 64位,使用构建标签/v3.8.1-0-g20 aa 2c 22713-脏,VPack 0.1.35,RocksDB 6.8.0,ICU 64.2,V8 7.9.317,OpenSSL 1.1.1k 2021年3月25日
我正在处理的原始查询稍微复杂一点,使用COLLECT语句来收集pi和pres 5周围的一些值(因为一些学生在同一个演示文稿中学习2/3个模块。同样,在以前的ArangoDB安装中,此查询可以正常运行,但现在会导致ArangoDB崩溃,如下所示:
2021-11- 06 T20:11:29 Z [66548]信息[144 fe] {常规}使用存储引擎“rocksdb”
2021-11- 06 T20:11:29 Z [66548]信息[3bb 7 d] {集群}正在以单一角色启动
2021-11- 06 T20:11:29 Z [66548] INFO [f6 e0 e] {aql}每个AQL查询的内存限制自动设置为10165316813字节。要修改此值,请调整启动选项--query.memory-limit
2021-11- 06 T20:11:36 Z [66548]信息[c1 b63] {阿朗戈搜索}阿朗戈搜索维护:[1..1]个提交线程,[1..1]个合并线程
2021-11- 06 T20:11:36 Z [66548]信息[6 ea 38] {常规}将端点“http+tcp://127.0.0.1:8529”用于非加密请求
2021-11- 06 T20:11:38 Z [66548] INFO [cf 3f 4] {常规} ArangoDB(版本3.8.1 [win 64])已经准备好投入业务了,祝您玩得开心!
2021-11- 07 T07:44:23 Z [66548]信息[3278 a] {常规}收到系统关闭,开始关闭序列
2021-11- 07 T07:44:23 Z [66548] INFO [63 d54] {查询} AQLFeature关闭,等待0个已注册查询终止和1个功能租约释放
2021-11- 07 T07:45:22 Z [5968]信息[e52 b 0] {常规} ArangoDB 3.8.1 [win 64] 64位,使用构建标签/v3.8.1-0-g20 aa 2c 22713-脏,VPack 0.1.35,RocksDB 6.8.0,ICU 64.2,V8 7.9.317,OpenSSL 1.1.1k 2021年3月25日
非常感谢克里斯
1条答案
按热度按时间vnjpjtjt1#
如果您阅读了3.8的发行说明,其中提到了新的内存限制选项,您可以覆盖这些选项。