Anonymous
Нет, там дата обновления сгенерированных файлов выставляется.
Nick
и зачем тогда транзакция?
Anonymous
$set: { generated_files.0._type: "GeneratedFile", generated_files.0.updated_at: new Date(1553132029539), ...generated_files.47149._type: "GeneratedFile", generated_files.47149.updated_at: new Date(1553132032972) generated_files.47150._type: "GeneratedFile", generated_files.47150.updated_at: new Date(1553132032972), ...
Nick
вопрос тот же, зачем это делается в транзакции?
Nick
пока я вижу атомарный апдейт никак не связанный ни с чем другим, даже инкремента нет
Nick
если что в монге операции над одним доком атомарны, т.е. либо он меняется весь либо не меняется
Anonymous
Да, это операция над одним документом, не транзакция между несколькими документами.
Anonymous
Но она подвешивает все на шарде.
Nick
а в транзакции не подвешивает?
Anonymous
Может я что-то не понимаю, разве транзакции это не про операции с несколькими документами? Зачем здесь транзакция если документ один.
Игорь
Вообще эта проблема вроде ушла, переехал с 3.6.3 на 3.6.11 и вроде как-то заработало. Но вот теперь пол дня пытаюсь восстановить дам базы большой. Два раза уже процесс зависал и одну и туже коллекцию монго просто принтует в консоль
Nick
так я походу в другой разговор влез
Anonymous
Вообще эта проблема вроде ушла, переехал с 3.6.3 на 3.6.11 и вроде как-то заработало. Но вот теперь пол дня пытаюсь восстановить дам базы большой. Два раза уже процесс зависал и одну и туже коллекцию монго просто принтует в консоль
А он там в это время не пытается индексы в foreground на принимающем инстансе или на его secondary построить? Помнится тоже сталкивался с таким, кол-во загруженных доков перестает увеличиваться, при этом на secondary в это время строится индекс в foreground. Т.к. writeConcern: majority, загрузка приостанавливается.
Игорь
А он там в это время не пытается индексы в foreground на принимающем инстансе или на его secondary построить? Помнится тоже сталкивался с таким, кол-во загруженных доков перестает увеличиваться, при этом на secondary в это время строится индекс в foreground. Т.к. writeConcern: majority, загрузка приостанавливается.
У меня пока одна база. Без реплик Подозреваю, что проблема может быть в самом дампе. У меня он делается каждую ночь, но при этом вся работа с базой продолжается, все скрипты в работе. Сейчас отключил, все что стучится в базу и создал новый дамп. Пока он продолжает восстанавливаться. Вообще могут быть проблемы с дампом, если делать его на живую с базы, которая продолжает активно использоваться приложением?
Игорь
вот похоже да, на выключенную базу от приложения сделал дам и все ок восстановилось. А как тогда быть со стратегией дампования? Останавливать все процессы, работающие с базой, пока дапм делается?
Ринат
можно останавливать реплику и дампить её, или спейс копировать
Gor
вот похоже да, на выключенную базу от приложения сделал дам и все ок восстановилось. А как тогда быть со стратегией дампования? Останавливать все процессы, работающие с базой, пока дапм делается?
--oplog Creates a file named oplog.bson as part of the mongodump output. The oplog.bson file, located in the top level of the output directory, contains oplog entries that occur during the mongodump operation. This file provides an effective point-in-time snapshot of the state of a mongod instance. To restore to a specific point-in-time backup, use the output created with this option in conjunction with mongorestore --oplogReplay. Without --oplog, if there are write operations during the dump operation, the dump will not reflect a single moment in time. Changes made to the database during the update process can affect the output of the backup.
Gor
https://docs.mongodb.com/manual/reference/program/mongodump/
Nick
сам Летов в монгу подался)
Anonymous
А хелсчек какой-нибудь ставили для монго контейнера?
У нас не в контейнере. Собираем метрики заббиксом, скрипт на питоне собирает serverStatus и т.п. и через траппер отправляет в заббикс.
Игорь
В общем интересная история с зависанием монго в докере продолжается. поставил 3.6.11 и на рабочем скрипте происходит польное зависание. В логах последняя запись о создании коллекции и все на этом. Моного просто висит. Она не принимает соединений, но и не реджектит их. Соединения отваливаются сами по таймауту курсора. Гуглю проблему, но пока ничего не нашел :/ Причем при попытке присоединиться через терминал тоже самое, не могу зайти в базу, висит: connecting to: mongodb://127.0.0.1:27017
Egor
Доброго дня, посдкажите. решил ввести аутентификацию в монго, в сущестующие сервера в реплике, когда создам юзера, не отвалится ли реплика?
Egor
Помогиитеее
Nick
что случилось?
Nick
ну так разверните тестовый стенд и проверьте
Nick
и сюда напишите о результатах
Nick
видите никто не отвечает, значит придется решать пробелму самостоятельно
Oleg
https://docs.mongodb.com/manual/tutorial/enforce-keyfile-access-control-in-existing-replica-set/
Oleg
или наверное не то
Ринат
тестовый стенд этой штукой поднимается за минуту с шардами и репликами http://blog.rueckstiess.com/mtools/mlaunch.html
Egor
А почему он должна отвалиться? Подключаетесь к праймари ноде: use admin (как вариант) db.createUser(...)
Я просто не мастер по монго, была открыта всем а тут взяли и добавили секур...ну и реплика отвалилась
h1dw0w
Egor
Вы только авторизацию включили? или еще ключ в конфигах добавили?
Ну я только сделаю креат юзер в нужной бд и рестартану монго
Egor
Я по крайней мере так понял
h1dw0w
Ну я только сделаю креат юзер в нужной бд и рестартану монго
Пока вы в конфигах монги в секции секьюрити ничего не добавили, то нода точно не должна отвалиться
Egor
Пока вы в конфигах монги в секции секьюрити ничего не добавили, то нода точно не должна отвалиться
А добавление в конфиг обязательно? Или достаточно креат юзер? И креат юзер это относится только к определенной базе..или как там правильно в монго ?
Egor
Т.е. все равно голой ж миру открыт для других бд?
h1dw0w
А добавление в конфиг обязательно? Или достаточно креат юзер? И креат юзер это относится только к определенной базе..или как там правильно в монго ?
Вы можете создавать сколько угодно юзеров в монге. Но если в конфигах монги не будет указанно в секции секьюрити authorization: enabled Особого профита от этих юзеров вы не получите
h1dw0w
Потому сперва создайте юзеров с нужными ролями
h1dw0w
А потому уже включайте в конфигах авторизацию
Egor
А потому уже включайте в конфигах авторизацию
А реплика зависит от этой настройки получается? Или если я в монго сказал вот твой реплика мембер то по умолчанию доверенный?
h1dw0w
А реплика зависит от этой настройки получается? Или если я в монго сказал вот твой реплика мембер то по умолчанию доверенный?
Если вы хотите обезопасить себя от подмены одной ваше ноды чем-то левым, сгенерьте keyFile для вашего репликасета
h1dw0w
https://docs.mongodb.com/manual/tutorial/enforce-keyfile-access-control-in-existing-replica-set/
h1dw0w
Получается реплика не зависит от юзеров , для него свои настройки?
что вы подразумеваете под словом "реплика"? Одна нода репликасета?
Egor
что вы подразумеваете под словом "реплика"? Одна нода репликасета?
Несколько нод в репликасете, т.е. несколько серверов монги находятся в репликасете.
h1dw0w
с определенными ролями
Egor
ну юзеров то вы для баз создаете
Да у меня просто мускульное мышление)
h1dw0w
И для того, чтоб механизм контроля начал работать, вам нужно включить его в настройках каждой из нод репликасета
h1dw0w
Вот оно как, спасибо.
https://docs.mongodb.com/manual/reference/configuration-options/#security.authorization
Egor
Спасибо ещё раз.
Slava
подскажите плиз, тут ведь есть кто знаком c++ и исходниками монги, вот есть константа DEFAULT_MAX_CONN, количество открытых коннектов в монге, https://github.com/mongodb/mongo/blob/master/src/mongo/db/server_options.h#L41 и есть kDefaultMaxConns https://github.com/mongodb/mongo/blob/master/src/mongo/executor/connection_pool.cpp#L300 за что отвечает вторая?
yopp
а чо?
yopp
первая точно не hardcoded, это в конфиге можно переопределить
Slava
первая точно не hardcoded, это в конфиге можно переопределить
Я видел что в конфиге можно maxInflight поменять, про open упустил возможно
yopp
а чо?
yopp
монга в какие-то лимиты стукнулась?
Slava
монга в какие-то лимиты стукнулась?
не, услышал что "у монги лимит 32К коннектов, а так же что монга не будет нормально работать при >1000 коннектов на один инстанс", и пошел проверять это, так как не помню про ограничение в 32к :)
yopp
зачем вообще
yopp
про монгу чо только не говорят
yopp
есть документ в котором про лимиты написано: https://docs.mongodb.com/manual/reference/limits/
yopp
у меня по-умолчанию вообще 1024 дескриптора разрешено
Serhii
Ребзи привет, подскажите плиз locker = [1, 2, 3] await Order.updateOne({ _id: orderId }, { $push: { assignedCouriers: lockers } }); Есть такая операция вот, как можно чекнутть что lockers уникальные значения, по типу запушить только те которые не буду повторятся]
Ivan
и что?
и ниче, делюсь информацией
Ivan
и в том доке не написано про лимит конекшеенов