改变 Uid 时出错:[X] 不能大于租约:[Y]

Error while mutating Uid : [X] cannot be greater than lease: [Y]

我正在尝试在 dgraph 中加载 200 万条记录,每条记录的结构都像

message_id : <>
message_id_replied_to: <references message_id>

我像这样处理它们

  1. 使用批量加载程序在 dgraph 中加载所有 message_ids
  2. 然后开始处理 message_id_replied_to ,如果现有节点中存在 message_id_replied_to 的值,我使用该 uid 创建一个 RDF。

  3. 然后使用 liveloader 我插入所有 message_id_replied_to 链接(谓词)

现在 运行 在另一台机器上

  1. 我复制第1步后得到的out目录,使用alpha启动 它。

  2. 然后是第2步生成的RDF文件,长这样 <0x15f91> <message_id_replied_to> <0x70271b> .liveload

我假设 out 文件中的 p 目录保持相同 uid 因此此实时加载将起作用

问题是第二次加载它说 Error while mutating Uid: [430060] cannot be greater than lease: [10000] 而我没有 zw 目录

还有这个做法对吗?如果我也保留一份 zw 会有用吗?enter code here

使用 Dgraph 批量加载器时,您 必须使用与批量加载相同的 Zero(即相同的 zw 目录)。 Dgraph Zero 在批量加载期间分发用于 UID 分配的 UID 租约,因此使用全新的 Zero 将导致错误“[430060] 不能大于租约:[10000]”。

我建议遵循有关批量加载程序的 Dgraph 文档:https://docs.dgraph.io/deploy#bulk-loader