RaftPart buffer is full如何解决?

你插入的是哪个space,还有你的space里面最大的parttions number是100,你的日志怎么会有103part的。

我是也遇见了同样的问题,所以在帖子下面问问,这是我的日志
E0111 02:16:47.884047 41 Part.cpp:435] [Port: 44501, Space: 35, Part: 8] RaftPart buffer is full

space 是contact

你确认下你导入的数据的点分布,是不是点和边都扎堆到 part 8上了,所以这个part的压力大,处理不过来。

有这个可能性,但是还有一个问题 是他一直没有恢复。

我们是根据hash来插入的,按照道理来讲短时间可能出现某一个partition 插入频率过快,但是从长时间统计来看不会出现某一个partition偏差过大

什么叫一直没恢复,是一直有这个打印吗?

日志会的报出这个错误
E0111 02:16:47.884047 41 Part.cpp:435] [Port: 44501, Space: 35, Part: 8] RaftPart buffer is full
E0111 02:16:47.893462 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.893824 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.893909 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.894944 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.895254 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.895467 40 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 4994420721561691907
E0111 02:16:47.901543 21 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 2, vId: 696286582104341901
然后所有对partId=8的插入操作都会失败。

你先停掉插入的程序,然后手动执行下插入,插入一个点id为7的点,看能不能成功?假如成功了,那就是大部分操作的数据都在part8上面,你现在是在做update操作,update会有两次io,比较慢,不建议大压力同时操作一个part,update为什么这么频繁?

这是我手动插入的结果 ,线上实时写入已经停掉了
[ERROR (-8)]: Maybe vertex does not exist, part: 8, error code: -16!

[ERROR (-8)]: Maybe vertex does not exist, part: 8, error code: -16!
Mon Jan 11 07:53:29 2021

你这个应该是另外一个问题,这个不是因为buffer full的问题,你这个应该是update 语句才会,你用insert也会吗?换成insert

image

麻烦这个再贴下storage的日志

E0111 07:53:29.352007 27 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 7
E0111 08:10:29.016557 15 UpdateVertexProcessor.cpp:581] Fail to update vertex, spaceId: 35, partId: 8, vId: 7
你看我进行了一次插入操作和一次更新操作 都失败了 但是只有一条错误日志,上面那一条是之前测试的

你看下你这个storage当前的cpu使用情况

用perf看下?


执行命令: perf top -g -p nebula_storaged_pid