为什么mongodb从移除的碎片查询数据

为什么mongodb从移除的碎片查询数据,mongodb,sharding,transfer,Mongodb,Sharding,Transfer,我的应用程序从已删除的碎片中查询数据 旧群集: 数据碎片:集合0(在机器0上)、集合1(在机器1上)、集合2(在机器1上) 机器2) configserver(在machine2上) mongos(在机器2上) 新群集: 数据碎片:碎片0(在新机器上0),碎片1(在新机器上1) configserver(在新机器0和新机器1上,它们已重新设置) mongos(在新机器0上,新机器1上) 以前,我的mongodb集群中有三个数据碎片。我想把整个集群转移到新的机器上。我通过向集群中添加新的数据碎片实

我的应用程序从已删除的碎片中查询数据

旧群集:

  • 数据碎片:集合0(在机器0上)、集合1(在机器1上)、集合2(在机器1上) 机器2)
  • configserver(在machine2上)
  • mongos(在机器2上)
  • 新群集:

  • 数据碎片:碎片0(在新机器上0),碎片1(在新机器上1)

  • configserver(在新机器0和新机器1上,它们已重新设置)

  • mongos(在新机器0上,新机器1上)

    以前,我的mongodb集群中有三个数据碎片。我想把整个集群转移到新的机器上。我通过向集群中添加新的数据碎片实现了这一点,并一次从集群中删除一个旧的数据碎片

    通过将新的configserver添加到旧的configserver replset,我移动了configserver,并将主服务器更改为次服务器,将次服务器更改为主服务器

    然后在我的新集群中启动mongos

    整个过程进行得非常顺利。但当我的应用程序从新集群查询一些数据时,它有时会从移除的碎片(set_2)中查询它们,set_2是我数据库的主碎片,但我的数据库中没有任何未归档的集合(因此我不需要使用movePrimary方法,set2上的removeShard完成时没有错误)