Mira
Mira
yopp
Вам в группу по JavaScript
Mira
Вам в группу по JavaScript
Если интересно на досуге подумать,то:
Получается так, что когда я делаю compound index по _id и answers.user._id
Какие бы я запросы не делал, он всё время кидает на индексирование по _id
Со всем остальным работает на ура
В чём проблема _id?
Mira
Вам в группу по JavaScript
И вообще, делая любой compound index по, например, 2ум полям, где одно _id - он всегда кидает индексирование на UNIQUE _id
yopp
Compound index c префиксом по _id никогда не будет иметь смысла
yopp
_id это уже _уникальный_ индектификатор документа
yopp
Если в запросе есть точное совпадение по _id, базе данных остаётся только отдать вам документ.
yopp
Т.е. это запрос со 100% селективностью
Andrew
Привет! Репликация master-slave, вырубаю мастер ноду, slave не становится primary. Что не так с конфигом? Как-то у меня всегда это без орбитра работало
{
"_id" : "db-mongo",
"version" : 3,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "192.168.0.1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 2.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "192.168.0.2:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : 60000,
"getLastErrorModes" : {},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ...)
}
}
AstraSerg
Привет! Репликация master-slave, вырубаю мастер ноду, slave не становится primary. Что не так с конфигом? Как-то у меня всегда это без орбитра работало
{
"_id" : "db-mongo",
"version" : 3,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "192.168.0.1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 2.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "192.168.0.2:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : 60000,
"getLastErrorModes" : {},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ...)
}
}
Так три ноды нужно. В логах наверняка об этом написано.
Andrew
Обычно работало
pplcf
ну, это же даже логически не может работать
pplcf
если умерла нода 1, то как нода 2 поймет, что умерла имено нода 1, а не она сама?
pplcf
нужен минимум третий
Andrew
Логически я понимаю, что три нужно. Но говорю о практике, где две ноды переключаются в случае чего) я же не придумал)))
Andrew
Логи гляну сейчас
pplcf
просто первая отваливалась на короткое время
pplcf
когда подключалась снова мастером становилась вторая
pplcf
но по факту был даунтайм пока первая не вернулась в строй
pplcf
скорее всего было так
pplcf
заведи арбитра
pplcf
ну может по ресурсам тяжело держать еще одного слейва
pplcf
можно и так
AstraSerg
Да, вы правы, зависит от размера.
Andrew
2018-08-15T17:57:50.048Z I REPL [ReplicationExecutor] Not starting an election, since we are not electable due to: Not standing for election because I cannot see a majority (mask 0x1)
Andrew
Видимо вот причина, почему не меняет статус
Andrew
Я так понимаю, на 3.0 у меня так работало. А на 3.4 такой "сомнительных подход" не катит, просит 2 запущенных ноды для выборов
AstraSerg
Andrew
Ага, разобрались! Спасибо!
Andrew
Но все же странно, что на 3.0 это спокойно работало
Andrew
И даже конфликтов не припомню
pplcf
очень вряд ли, что работало
pplcf
может все таки был арбитр
Andrew
Неа
Andrew
2 ноды без арбитра
Andrew
как одна падает, вторая в primary
pplcf
что значит "падает"?
pplcf
ты ее конкретно отключал?
Andrew
Падает я имею ввиду когда захожу на сервер и киляю процесс
Andrew
Т.е. при рабочей сети
pplcf
ну, как я понимаю, то такого быть не должно вообще
Andrew
На 2.6 вообще кворума не было, насколько я помню. У кого выше приоритет, тот и primary. А если че не так, уходит в rollback и мучайся дальше
pplcf
нет, в 2.х было такое же поведение
pplcf
это by design
pplcf
не помню за 1.х
Andrew
Значит добавлю на сервера приложений, думаю много жрать не будут
Andrew
Так то
ᅠ ᅠ ᅠ ᅠ
Ребят, делаю по примеру из док-и драйвера с добавлением поля индексации по увеличению "Single Ascending Index" http://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/indexes/
пишу:
https://ghostbin.com/paste/ecuzn
ᅠ ᅠ ᅠ ᅠ
но новое поле name не добавляется в таком случае
ᅠ ᅠ ᅠ ᅠ
то есть сам документ нормально добавляется, а индексированного поля нет
ᅠ ᅠ ᅠ ᅠ
в примере док-и ровно так и написано:
collection.createIndex(Indexes.ascending("name"));
AstraSerg
ᅠ ᅠ ᅠ ᅠ
ᅠ ᅠ ᅠ ᅠ
ᅠ ᅠ ᅠ ᅠ
вот, никаких предупреждений в коде нет
ᅠ ᅠ ᅠ ᅠ
и все прекрасно добавляется, кроме единственного поля с индексированием
AstraSerg
AstraSerg
Любите вы ребусы... Ладно. А что такое ...fieldNames в предыдещем скрине?
ᅠ ᅠ ᅠ ᅠ
ᅠ ᅠ ᅠ ᅠ
подразумевая под названием поля
AstraSerg
Блин, или я перепил или вы не по-русски говорите :)
ᅠ ᅠ ᅠ ᅠ
тут проблема больше в том, что мне исправить, чтобы наконец поле добавилось
AstraSerg
Так индекс делается на существующее поле, а в приведенных документах поля name нет
ᅠ ᅠ ᅠ ᅠ
тут получается, что все исполняется, кроме строчки с созданием поля с индексированием
ᅠ ᅠ ᅠ ᅠ
AstraSerg
Объявит тогда сверху?? Вы на эротику намекаете? :))))
ᅠ ᅠ ᅠ ᅠ
AstraSerg
Смотрите: индекс добавляется на существующее поле. Точнее, скорее всего и на несуществующее можно (может потом появится) но сам факт добавления индекса не создаст само поле. Сделайте это поле так же как делаете другие: url, title и др.
ᅠ ᅠ ᅠ ᅠ
Понял, сейчас попробую вручную поле добавить.
AstraSerg
AstraSerg
Извините, я спать 😴. Но суть вы поняли
ᅠ ᅠ ᅠ ᅠ
AstraSerg
4.0.1 появилась в дебиане:# apt list --upgradable
Listing… Готово
mongodb-org/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
mongodb-org-mongos/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
mongodb-org-server/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
mongodb-org-shell/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
mongodb-org-tools/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
Oleg
Всем привет. подскажите, можно ли создать юзера в монге только с одним action: update ?