Гена
39.5 GiB + 581.5 KiB = 39.5 GiB mongod
---------------------------------
39.6 GiB
yopp
Гена
там одна, это шард
Dmitry
Nick
Nick
конечно
А какие задачи решаете с помощью транзакций?
Гена
@dd_bb а есть возможно выставить праймари через секондари?
Гена
у меня пришел ООМ
Гена
и убил праймари
Гена
а реплика не переизбрала нового
Dmitry
Не устанавиливается mongo :’(
Dmitry
Nick
Храните ид групп у юзера и ид юзеров в группе. Благо сейчас есть транзакции и это больше не проблема
yopp
Гена
да там были танцы с бубнами. Остлось 3 реплики и один арбитр
Гена
но почему то монга не переизбрала нового праймари
yopp
Уберите арбитр
Гена
почему?
yopp
Потому что осталось 4 ноды
Гена
так арбитер нужен был для избрания нового, у него просто голос
Гена
и приоритеты стояли
Гена
должен был избраться с приоритетом 1 а другие были с 0
yopp
Гена
хм
yopp
И она не может учавствовать в голосовании
Гена
в доках не видел об этом инфу
Гена
у арбитра 0 приоритет и один голос
Гена
а как арбитр с 0 приоритетом голосует?
Гена
Гена
одна нода была с приоритетом 1
Гена
и он ее не выбрал
yopp
Вы неверно настроили приоритет
yopp
У вас скорее всего сейчас нет кворума для выборов
Гена
а можно заселектить сколько голосов у ноды?
yopp
Если вы хотели дать каким-то нодам больше веса, чтоб увеличить их шанс на победу в выборах, вам было необходимо дать им больший приоритет. 0 приоритет лишает ноду возможности учавствовать в выборах в любой роли, но позволяет использовать её для запросов.
yopp
Гена
yopp
вам необходимо исправить ошибку конфигурации кластера
yopp
Вернуть всем нодам-участникам приоритет 1, а нодам которые в приоритете выставить 2-3
Гена
выставил приоритеты 4 и 3 на нодах в основном цд и 2 на резервном
Гена
ну или так
Гена
понял
буду копать туда
Гена
спасибо
Максим
Доброго дня, прошу помощи советом
Делаю группировку. К каждой группе пушу целиком документы, участвующие в группировке. Как мне потом к каждому документу внутри группы лукапнуть данные из другой коллекции?
db.getCollection('contacts').aggregate([
{
"$group": {
"_id": {"vk":"$vk"},
"data": {"$push":"$$ROOT"},
"count":{"$sum":1}
}
},
{
"$match": {
"count": {"$gt":1}
}
}
])
Максим
Документы contacts выглядят примерно так
{
"name" : "Пёрт Иванов",
"email" : "petr@ya.ru",
"uid" : 777,
"vk" : 123456,
}
Лукапнуть нужно документы из коллекции deals, документы которой имеют вид
{
"name" : "Сделка 1",
"contactId" : 777,
...
}
Максим
Сам лукап у меня имеет такой вид
$lookup: {
from: "deals",
localField: "data.uid",
foreignField: "contactId",
as: "deals"
}
Максим
Но нужно, чтоб данные лукапились к каждому из припушенных результатов в группе, а не к самой группе
Максим
Надеюсь понятно обрисовал ситуацию, прошу простить за невежество в терминах - нуб :)
Максим
На выходе хочу получить что-то типа такого
[
{
"_id": {
"vk": 123456
},
"data": [
{
"name": "Пёрт Иванов",
"uid": 777,
"email" : "petr@ya.ru",
"vk": 123456,
"deals": [
{
"name" : "Сделка 1",
"contactId" : 777,
...
}
]
},
{
"name": "Пёрт Иванов",
"vk": 123456,
"uid": 888,
"deals": []
}
],
"count": 2
}
]
Максим
Переделал $lookup и поместил его перед группировкой. Заработало. Только получается, что он теперь ко всем "contacts" лукапит "deals", а уже потом группирует. Есть ли более адекватное решение?
$lookup: {
from: "deals",
localField: "uid",
foreignField: "contactId",
as: "deals"
}
Max
Всем привет. У нас в коллекции с 250 миллионами документов стал очень сильно тормозить запрос .find({ _id: null }), индекс на это поле есть. В коллекции всего-лишь одна запись с _id: null
Max
Кто-нибудь может помочь?
Max
Стал тормозить после переезда с local nvme ssd диска в гугл клауде на persistent ssd (сетевой)
Max
Все в огне горит)
yopp
yopp
заменить на _id: { $type: 10 }
yopp
_id: null это $exists: false || $type: 10
Max
это вы _очень_ зря
Локальные nvme ssd диски у гугл клауда часто сбоят, а при ошибке хоста вообще удаляются все данные
Max
yopp
yopp
latency, пропускная полоса
yopp
если бы у вас хватало, у вас бы запрос не тормозил :)
yopp
раньше вот хватало
Max
Да это очень странно, по графикам видно что там используется 3000 iops в пике из 15000
Max
И 20мб из 240
Max
Это единственный запрос, который стал тормозить после переезда
Max
Попробовал reIndex сделать, не помогло)
yopp
Max
yopp
reIndex по _id это что-то очень странное
yopp
это имеет смысл если у вас что-то очень сильно сломалось
yopp
¯\_(ツ)_/¯ explain({executionStats: true})