简体   繁体   English

ArangoDB 3.8 在简单查询时崩溃

[英]ArangoDB 3.8 crashing on simple queries

I hope someone can point me in the right direction.我希望有人能指出我正确的方向。 I have avidly used ArangoDB since 2017 and have developed a model that works well for exploring longitudinal analysis of student study.自 2017 年以来,我一直热衷于使用 ArangoDB,并开发了一个非常适合探索学生学习纵向分析的模型。 However, since moving to RocksDB and 3.8, I have started to experience crashes and cannot work out why.但是,自从迁移到 RocksDB 和 3.8 后,我开始遇到崩溃并且无法弄清楚原因。 I'm using the Community edition on my Windows 10 laptop with 16GB RAM.我在配备 16GB RAM 的 Windows 10 笔记本电脑上使用社区版。 I don't think the computer is the problem as I also experience it on my desktop machine.我不认为计算机是问题,因为我在台式机上也遇到过它。 Also, Windows 10 with 32GB RAM.此外,具有 32GB RAM 的 Windows 10。 My database uses two collections: a document collection, 'Study' that contains details around a student's study attempt at a module with 1.5 million documents;我的数据库使用两个集合:一个文档集合,“Study”,其中包含有关学生在具有 150 万个文档的模块中学习尝试的详细信息; an edge collection, 'Path' that contains the links between study attempts, with 2.8 million edges;一个边集合,“路径”,包含研究尝试之间的链接,有 280 万条边; < 6 edges per student on average. < 平均每个学生 6 条边。 The StartEnd document collection has a pair of dummy start and end vertices for each student. StartEnd 文档集合为每个学生有一对虚拟的开始和结束顶点。 These make it easy to produce the study path for each student.这使得为​​每个学生制定学习路径变得容易。 There are just under a million documents.有不到一百万个文件。 Simple queries that used to run without issue without limits, now crash arangoDB if I do not limit the number of results to around 10. For example, this query selects a number of students with LIMIT, collects their study attempts (vertices), just keeping minimal data to RETURN.过去可以无限制地运行的简单查询,如果我不将结果数量限制在 10 左右,现在会使 arangoDB 崩溃。例如,这个查询选择了一些具有 LIMIT 的学生,收集他们的学习尝试(顶点),只保留返回的最少数据。 The objects retained are pi, an 8 character student id;保留的对象是pi,一个8字符的学生ID; pres5, a year plus letter, eg 2012J; pres5,年份加字母,例如2012J; module, a string of between 4 and 7 characters.This query would run without issue on previous versions in MMfiles:模块,一个 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

When I look at the AragnoDB log for this failure.当我查看 AragnoDB 日志以了解此故障时。 The entry is this:入口是这样的:

2021-11-07T21:43:44Z [18988] INFO [144fe] {general} using storage engine 'rocksdb' 2021-11-07T21:43:44Z [18988] INFO [144fe] {general} 使用存储引擎“rocksdb”
2021-11-07T21:43:44Z [18988] INFO [3bb7d] {cluster} Starting up with role SINGLE 2021-11-07T21:43:44Z [18988] INFO [3bb7d] {cluster} 以角色 SINGLE 启动
2021-11-07T21:43:44Z [18988] INFO [f6e0e] {aql} memory limit per AQL query automatically set to 10165316813 bytes. 2021-11-07T21:43:44Z [18988] INFO [f6e0e] {aql} 每个 AQL 查询的内存限制自动设置为 10165316813 字节。 to modify this value, please adjust the startup option --query.memory-limit要修改此值,请调整启动选项--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 [c1b63] {arangosearch} ArangoSearch 维护:[1..1] 提交线程,[1..1] 合并线程
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:50Z [18988] INFO [6ea38] {general} 使用端点“http+tcp://127.0.0.1:8529”进行非加密请求
2021-11-07T21:43:51Z [18988] INFO [cf3f4] {general} ArangoDB (version 3.8.1 [win64]) is ready for business. 2021-11-07T21:43:51Z [18988] INFO [cf3f4] {general} ArangoDB(版本 3.8.1 [win64])已准备就绪。 Have fun!玩得开心!
2021-11-07T21:44:46Z [18988] INFO [87ff4] {crash} Unhandled exception: c0000005 at address 00007ff7f761e02e in thread 5ec 2021-11-07T21:44:46Z [18988] INFO [87ff4] {crash} 未处理的异常:c0000005 在线程 5ec 中地址 00007ff7f761e02e
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-07T21:44:47Z [18988] INFO [93315] {crash} 写小型转储:C:\\WINDOWS\\TEMP\\arangod_a15316\\2021-11-07T21-44-46_18988.mp_151
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 2021-11-08T15:35:58Z [9048] INFO [e52b0] {general} ArangoDB 3.8.1 [win64] 64bit,使用构建标签/v3.8.1-0-g20aa2c22713-dirty,VPack,RockDB 0.1.365.365 0、ICU 64.2、V8 7.9.317、OpenSSL 1.1.1k 2021 年 3 月 25 日

The original query I was working on was a little more complicated, with a COLLECT statement to collect some values around pi and pres5 (as some students study 2/3 modules in the same presentation. Again this query would run without issue in previous ArangoDB installation but now causes ArangoDB to crash like this:我正在处理的原始查询有点复杂,使用 COLLECT 语句收集 pi 和 pres5 周围的一些值(因为有些学生在同一个演示文稿中学习 2/3 模块。同样,这个查询在以前的 ArangoDB 安装中运行时不会出现问题但现在导致 ArangoDB 像这样崩溃:

2021-11-06T20:11:29Z [66548] INFO [144fe] {general} using storage engine 'rocksdb' 2021-11-06T20:11:29Z [66548] INFO [144fe] {general} 使用存储引擎“rocksdb”
2021-11-06T20:11:29Z [66548] INFO [3bb7d] {cluster} Starting up with role SINGLE 2021-11-06T20:11:29Z [66548] INFO [3bb7d] {cluster} 以角色 SINGLE 启动
2021-11-06T20:11:29Z [66548] INFO [f6e0e] {aql} memory limit per AQL query automatically set to 10165316813 bytes. 2021-11-06T20:11:29Z [66548] INFO [f6e0e] {aql} 每个 AQL 查询的内存限制自动设置为 10165316813 字节。 to modify this value, please adjust the startup option --query.memory-limit要修改此值,请调整启动选项--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 [c1b63] {arangosearch} ArangoSearch 维护:[1..1] 提交线程,[1..1] 合并线程
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:36Z [66548] INFO [6ea38] {general} 使用端点“http+tcp://127.0.0.1:8529”进行非加密请求
2021-11-06T20:11:38Z [66548] INFO [cf3f4] {general} ArangoDB (version 3.8.1 [win64]) is ready for business. 2021-11-06T20:11:38Z [66548] INFO [cf3f4] {general} ArangoDB(版本 3.8.1 [win64])已准备就绪。 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 [3278a] {general} 系统关闭收到,开始关闭序列
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:44:23Z [66548] INFO [63d54] {queries} AQLFeature 关闭,等待 0 个已注册的查询终止并等待 1 个功能租约被释放
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 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, RockDB 0.1.365.365 0、ICU 64.2、V8 7.9.317、OpenSSL 1.1.1k 2021 年 3 月 25 日

Many thanks.非常感谢。 Chris克里斯

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM