Mongodb 删除碎片后发出db.collection.getShardDistribution()时出错

Mongodb 删除碎片后发出db.collection.getShardDistribution()时出错,mongodb,sharding,Mongodb,Sharding,我有一个9节点的集群。我删除了一个节点。当任务完成后,我尝试发出命令 mongos> db.collection.getShardDistribution() 我得到了剩余8个碎片的列表,但最后显示了一条错误消息: 2014-11-12T13:11:23.965-0500 TypeError: Cannot read property 'host' of null at src/mongo/shell/collection.js:1299 我想到的唯一一件事是,我在“主机”字段上有一个

我有一个9节点的集群。我删除了一个节点。当任务完成后,我尝试发出命令

mongos> db.collection.getShardDistribution()
我得到了剩余8个碎片的列表,但最后显示了一条错误消息:

2014-11-12T13:11:23.965-0500 TypeError: Cannot read property 'host' of null at src/mongo/shell/collection.js:1299
我想到的唯一一件事是,我在“主机”字段上有一个索引,它是否可能没有以某种方式从系统中完全删除


我可以继续使用.find()方法搜索集合,但是如何抑制此错误/为什么显示此错误

实际上,我通过重新启动mongos服务器解决了这个问题:

$ mongos --configdb host0:27019 --port 27017
重新启动并重新连接到mongos后,我能够发布:

mongos> db.collection.getShardDistribution()

问题就解决了。我仍然认为这是一个bug,但我想如果我可以通过重新启动来克服它,那没什么大不了的…

这个错误使我无法看到所有碎片上的%分布。我相信这可能是MongoDB的一个bug。。。