Raft Listener关闭失败

Nebula Graph3.3.0
几个问题:
1、在部署全文索引的时候,REBUILD FULLTEXT INDEX;
show jobs显示failed,但是日志里差找不到为什么failed,是不是ES配置了密码登录的原因?–已解决,可以通过sign in的时候指定用户名、密码
2、在取消了ES密码登录后,rebuild FULLTEXT INDEX可以正常运行,由于数据量较大,同步到一半的时候,突然想让他停下来,stop job失败,然后后台kill调raft listener进程,但是当我重新启动后,raft listener又自动开始同步起来,感觉像是断点续传(甚至重启服务器后也是如此)。请问怎么彻底停掉这个job?

刚刚看日志,发现有的时候会报:


然后我不停的重试(删除ES全文索引后重新rebuild),然后发现rebuild 的job一开始就失败了,但是进程却在往ES里写数据的,最终的结果是只同步了部分数据(900多万的数据仅同步了100多万)。
最后一次,我索性把所有的步骤都重新执行了一遍,包括重建mapping,rebuild的job终于又显示running了,最终同步的结果是没问题的。符合预期。目前没有重复这个过程,需要验证一下。
目前看,是不是可以这样总结:如果同步过程中,出现问题,与预期不符合,需要全流程重新来一遍?另外,listener的日志不太友好,看不明白问题出在哪里,只能瞎试。

Hello,这个问题有人回答吗?

sorry,负责全文索引的同学上周因病请假了,我让他给你瞅瞅。

这个问题是这样的

Listener是基于Raft的机制从Storage拉取数据的。当Listener启动时,它会从Storage同步数据,如果WAL落后太多,它就会重新拉取一个快照。Listener拉取的数据是要全部写入到ES的。

所以,当Listener启动时,它本身就已经在往ES写入数据,这个时候去rebuild fulltex index会失败,失败原因应该是类似于“找不到Listener”之类的(您可以再确认下)。这个是报错信息不友好,实际上是因为已经在同步数据所以无法再次执行同步导致的。

是的,没错,我贴的截图的倒数第二行里是有这个报错的E_LISTENER_NOT_FOUND。
那么是不是可以理解为:一旦listener启动,并开始同步数据了,就没办法停止它,必须要等它把这次的快照的数据同步完了,是这样吗?

是的

OK,感谢。