使用官方提供的basketballplayer数据集+cypher里的skip和limit做分页时,

Nebula内核版本:v3.3.0
系统内核版本 3.10.0-1160.el7.x86_64,在centos7上使用docker-compose部署

各位老师,我遇到一个奇怪的bug,使用官方提供的basketballplayer数据集+cypher里的skip和limit做分页时,发现一个诡异的规律,只要skip的数量少于/等于limit的二分之一,就会出现丢数据,少于三分之一左右时,丢失全部数据:




2 个赞

可能是个bug。

我也复现了

(root@nebula) [basketballplayer]> match  ()-[e]->() return e  skip 100 limit 34
+-----------------------------------------------------------------------+
| e                                                                     |
+-----------------------------------------------------------------------+
| [:follow "player109"->"player125" @0 {degree: 90}]                    |
| [:serve "player111"->"team200" @0 {end_year: 2018, start_year: 2016}] |
+-----------------------------------------------------------------------+
Got 2 rows (time spent 12.682ms/20.443416ms)

Mon, 09 Jan 2023 06:48:09 UTC

(root@nebula) [basketballplayer]> match  ()-[e]->() return e  skip 100 limit 3
+---+
| e |
+---+
+---+
Empty set (time spent 7.91ms/8.722916ms)

Mon, 09 Jan 2023 06:48:23 UTC

(root@nebula) [basketballplayer]> match  ()-[e]->() return e  skip 100 limit 30
+---+
| e |
+---+
+---+
Empty set (time spent 24.068ms/31.6455ms)

Mon, 09 Jan 2023 06:49:42 UTC
1 个赞

我在 GitHub 提交了一个 issue 来跟踪情况哈 `skip`+`limit` return results, some data is missing · Issue #5223 · vesoft-inc/nebula · GitHub 你也可以关注下相关的处理进展。

淦,我还以为是索引得问题