Получение исключения при запуске команды sh.status () в сегментированном кластере MongoDB - PullRequest
0 голосов
/ 15 ноября 2018

Я выполняю команду sh.status () на моем экземпляре mongos из сегментированного кластера Mongo и получаю исключение ниже.

mongos> sh.status()
assert: command failed: {
    "ok" : 0,
    "errmsg" : "error processing query: ns=config.mongosTree: ping $gt new Date(1542173873192)\nSort: {}\nProj: {}\n No query solutions",
    "code" : 2
} : aggregate failed
_getErrorWithCode@src/mongo/shell/utils.js:25:13
doassert@src/mongo/shell/assert.js:16:14
assert.commandWorked@src/mongo/shell/assert.js:290:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1312:5
printShardingStatus@src/mongo/shell/utils_sh.js:611:13
sh.status@src/mongo/shell/utils_sh.js:78:5
@(shell):1:1

2018-11-14T05:38:55.904+0000 E QUERY    [thread1] Error: command failed: {
    "ok" : 0,
    "errmsg" : "error processing query: ns=config.mongosTree: ping $gt new Date(1542173873192)\nSort: {}\nProj: {}\n No query solutions",
    "code" : 2
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
doassert@src/mongo/shell/assert.js:16:14
assert.commandWorked@src/mongo/shell/assert.js:290:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1312:5
printShardingStatus@src/mongo/shell/utils_sh.js:611:13
sh.status@src/mongo/shell/utils_sh.js:78:5
@(shell):1:1

Я запускаю Mongo 3.2 на платформе Ubuntu 16.04.Он отлично работает на MongoDB версии 3.0 на платформе Ubuntu 14.04.Я переустановил все и попробовал это на новых машинах, все работает нормально, кроме команды sh.status ().

Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2018

Это было потому, что свойство notablescan включено на моих серверах конфигурации mongo. После отключения notablescan команда работает нормально. Вы можете проверить состояние notablescan, выполнив эту команду.

db.adminCommand( { getParameter: 1, notablescan: 1 } )

Вывод будет таким, как показано ниже, если notablescan включен.

{
  "notablescan": true,
  "ok": 1
}
...