Попытка истощить результаты осколка в ShardNotFound - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь осушить осколок.У нас есть два осколка в нашей настройке.Недавно мы использовали 6+ отдельных осколков, теперь они распределены по оставшимся 2 осколкам.Когда я запускаю команду removeShard на shard0012, она переходит в режим слива, но все попытки moveChunk терпят неудачу.

--- Sharding Status ---
  sharding version: {
        "_id" : 1,
        "minCompatibleVersion" : 5,
        "currentVersion" : 6,
        "clusterId" : ObjectId("57459870ded3be752e8bb27b")
  }
  shards:
        {  "_id" : "shard0012",  "host" : "shard02:27054",  "state" : 1 }
        {  "_id" : "shard0016",  "host" : "shard01:27050",  "state" : 1 }
  active mongoses:
        "4.0.4" : 2
        "4.0.3" : 1
  autosplit:
        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  no
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours:
                39 : Failed with error 'aborted', from shard0012 to shard0016

В моих журналах я увижу это повторение:

SHARDING [Balancer] Balancer move documents.fs.chunks: [{ files_id: ObjectId('574c427815c7ad47588b73a8'), n: 295 }, { files_id: ObjectId('574c427f15c7ad47588b7503'), n: 93 }), from shard0012, to shard0016 failed :: caused by :: ShardNotFound: Shard shard0014 not found

shard0014 - это осколок, который ранее использовался в нашей настройке, но он был удален и удален в соответствии с лучшими практиками /официальная документация.

Я попытался перезапустить все монги.Я также пытался сбросить RouterConfig.Я не могу найти ссылку на shard0014 в нашей текущей настройке.

Есть ли способ обновить метаданные шарда в документах на shard0012?

MongoDB работает в версии 4.0.4 в среде Windows.

Я ожидал, что осколок истощится.Все идентификаторы объектов, на которые есть ссылки, доступны для поиска, и у нас нет проблем с вставкой или обновлением документов.

...