
m
15.08.2018
07:45:13

Фёдор
15.08.2018
07:47:17

AstraSerg
15.08.2018
07:52:02

m
15.08.2018
07:53:36

Google

Nick
15.08.2018
07:54:35
а что мешает просто попробовать и для себя все разобрать?

AstraSerg
15.08.2018
07:54:55

m
15.08.2018
07:56:16
Я бы тут делал что-то типа Object.assign({},OriginalDocument, {updatedfieldX : update}), но не предоставляется возможность

AstraSerg
15.08.2018
08:02:35
Такого не знаю. Не типичный случай какой-то... Попробуйте поискать и поднять web-интефейс какой-нибудь для монги.

m
15.08.2018
08:04:27

AstraSerg
15.08.2018
08:04:48

Алексей
15.08.2018
12:29:40
господа как лучше монгу для стейджа в кубере собирать ?
нашел хелм чарт но он делает полную фигню и в мемберы пихает ip вместо имен.
дальше выглядит будто надо руками
про http://k8smongodb.net/ знаю но ответа не нашёл.

yopp
15.08.2018
12:34:51

Алексей
15.08.2018
12:35:10
рукми я сделал. но это чот жопа :)

Google

yopp
15.08.2018
12:35:28
Шедулеры контейнеров не учитывают внутреннее состояние сервисов и творят ужасные вещи
Тебе что надо?

Алексей
15.08.2018
12:37:15
хочу не делать руками инит репликасета
может быть совета или слов типа "болт забей на хельм чарт иди и собирай инит контейнер"

Undefined
15.08.2018
12:37:43
Добрый день, занимаюсь индексацией и не совсем понимаю куда добавить её в коде сервера. Может есть у кого какие советы?
Знаю, что можно в compass добавить, но вдруг придётся менять сервер бд и всё полетит, по этому хочется в коде
Если у кого есть какие идеи - поделитесь

yopp
15.08.2018
12:38:46

Алексей
15.08.2018
12:39:08
в идеале хочу ворклоу в стиле
helm inspect blablba
vim valiues.yml
helm install blabla

yopp
15.08.2018
12:40:00

Алексей
15.08.2018
12:40:47

yopp
15.08.2018
12:41:37
Для поиграть mlaunch есть
Который может тебе развернуть кластер из десяти шардов за две минуты в одну команду :)

Алексей
15.08.2018
12:42:35
хм. не то.
монга не самоцель а кусочек инфры
в иделе надо по ссылке на дев задачку.
словом стейджинг я как бы подчеркиваю факт того что на данные в ней наплевать сразу

yopp
15.08.2018
12:44:00
в иделе надо по ссылке на дев задачку.
Если тебе ехать, а не шашечки: завести руками отдельную монгу и каждый стейдж/браня/билд приложение катать в свою базу на одном кластере.
Если критически нужна изоляция: mlaunch внутри контейнера/виртуалки
Если критически нужна оркестрация: придётся писать своё, но оно будет очень плохо работать

Алексей
15.08.2018
12:47:59
ясно спасибо за мнение.

yopp
15.08.2018
12:48:20
Я пару лет назад полгода пытался в ранчере это сделать.

Google

yopp
15.08.2018
12:48:56
Это ОЧЕНЬ СЛОЖНО. Не меньше пары человеколет

Алексей
15.08.2018
12:49:37
пока мне кажется что дя задачи будет достаточно инит контейнера.
опять же с учетом того что всё время жизни репликасета примерно 6 часов.
и данные можно дропнуть

yopp
15.08.2018
12:50:11
Зачем нужно каждый раз катать реплику?

Алексей
15.08.2018
12:50:29
что бы похоже было.

yopp
15.08.2018
12:50:31
Это требование стоит сотни тысяч долларов :)
Её можно поднять и не катать

Алексей
15.08.2018
12:50:43
вроде как бы для block требуется 3.6 и репликасет даже из одного хоста

yopp
15.08.2018
12:50:58
А базы дропать это вопрос часа работы
Сделать три кластера: stand, repset, 3x shard. И пусть разрабы в них развлекаются.

Алексей
15.08.2018
12:51:58
не. зачем. ci сам справится с поднятием и убиением.

yopp
15.08.2018
12:52:06
Не справится

Undefined
15.08.2018
12:54:47

yopp
15.08.2018
12:55:32
Под какой запрос вы хотите их индексировать?

Undefined
15.08.2018
12:56:24

yopp
15.08.2018
12:56:25

Алексей
15.08.2018
12:56:51
чой то ? для выборов есть подкалдка в виде priority

yopp
15.08.2018
12:58:33
А чем тебе приоритет поможет?

Алексей
15.08.2018
13:00:33
хельмовый чарт сейчас поднимает куберовский стейтфул сет. для машины с именем mongodb-primary-0 при инициализации репликасета выставляется 5-ка. для слейвов 2-ка. детерминированность выборов обеспечена. imho

Google

yopp
15.08.2018
13:01:25
Ну запуль тогда пуллреквест в хельму
Если айпишники это твоя единственная с ней проблема :)
Но я бы ее стал тратить нервы, время и бабки на эту затею. Готовы кластер тупо дешевле и надёжнее. Плюс всегда можно по результатам билда/тестирования посмотреть что в базе. Отлаживать проще.

Алексей
15.08.2018
13:03:16
пока единственная да
парни с канала пр кубер говорят что в стейтфулсете ойпишники неизменны

yopp
15.08.2018
13:04:00
Ну тогда в чём проблема вообще?

Алексей
15.08.2018
13:04:21
в том что чарт не работает как надо и требует ручной иниципализации :)

Admin
ERROR: S client not available

Алексей
15.08.2018
13:04:34
но я уже понял что тут я не получу нужный ответ и отстал да :)

yopp
15.08.2018
13:04:49
А причём тут монга?

Алексей
15.08.2018
13:05:06
ну а вдруг тут есть люди с похожим кейсом..

yopp
15.08.2018
13:08:53
У вас уже итак в запросе есть точное совпадение по _id, индекс по второму полю ничего не даст

Undefined
15.08.2018
13:09:54

yopp
15.08.2018
13:10:01
Не ускорит

Undefined
15.08.2018
13:10:25
Не ускорит
Так или иначе не моя прихоть)
Если есть идеи как сделать, буду рад выслушать

yopp
15.08.2018
13:13:25
Сделать compound index по _id и survey.user._id.
https://docs.mongodb.com/manual/core/index-compound/#create-a-compound-index
Потом сменить ментора. Этот индекс не будет использоваться, потому что у вас уже есть точный идентификатор документа: _id. Быстрее уже просто невозможно.
Плюс предварительная оптимизации — неэффтивна. Вы никогда не угадаете где у вас будет бутылочное горлышко.

Undefined
15.08.2018
13:20:57


yopp
15.08.2018
13:26:29
Вам в группу по JavaScript

Google

Undefined
15.08.2018
13:28:06
Вам в группу по JavaScript
Если интересно на досуге подумать,то:
Получается так, что когда я делаю compound index по _id и answers.user._id
Какие бы я запросы не делал, он всё время кидает на индексирование по _id
Со всем остальным работает на ура
В чём проблема _id?
Вам в группу по JavaScript
И вообще, делая любой compound index по, например, 2ум полям, где одно _id - он всегда кидает индексирование на UNIQUE _id

yopp
15.08.2018
15:12:01
Compound index c префиксом по _id никогда не будет иметь смысла
_id это уже _уникальный_ индектификатор документа
Если в запросе есть точное совпадение по _id, базе данных остаётся только отдать вам документ.
Т.е. это запрос со 100% селективностью


Andrew
15.08.2018
17:07:33
Привет! Репликация 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
15.08.2018
17:40:07
Привет! Репликация 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
15.08.2018
17:47:41
Обычно работало

pplcf
15.08.2018
17:49:53
ну, это же даже логически не может работать

AstraSerg
15.08.2018
17:49:54

pplcf
15.08.2018
17:50:25
если умерла нода 1, то как нода 2 поймет, что умерла имено нода 1, а не она сама?
нужен минимум третий

Andrew
15.08.2018
17:51:04
Логически я понимаю, что три нужно. Но говорю о практике, где две ноды переключаются в случае чего) я же не придумал)))
Логи гляну сейчас

pplcf
15.08.2018
17:51:26
просто первая отваливалась на короткое время
когда подключалась снова мастером становилась вторая