@MongoDBRussian

Страница 72 из 342
Stefan
23.03.2017
11:16:40
А индекс работает только для полного совпадения.

James
27.03.2017
07:00:38
всем привет. можете подсказать по логу почему упала монга?

http://pastebin.com/TDTbH5ns

Google
Qwizzy
27.03.2017
07:09:18
всем привет. можете подсказать по логу почему упала монга?
по стектрейсу находится только https://jira.mongodb.org/browse/SERVER-26890

James
27.03.2017
07:19:49
спс

Sergey
27.03.2017
20:34:17
а где можно подробнее почитать, как "Secondary members copy the oplog from their sync from source"? https://docs.mongodb.com/manual/core/replica-set-sync/#replication

Sergey
27.03.2017
20:44:08
как это устроено, как работает никаких конкретных вопросов

только код читать?

yopp
27.03.2017
20:49:51
в local есть capped коллекция rs.oplog. в неё данные пишутся только на master, все кто хочет синхронизироваться с мастером открывают в эту коллекцию tailable cursor и пишут в свою локальную всё что из курсора приезжает

как следствие если в оплоге нет всех данных, там используется хитрый механизм для сливания некого подобия полного дампа

yopp
27.03.2017
21:15:30
в том, чтоб получить point-in-time consistent dump

на который потом можно оплог проиграть

Nick
29.03.2017
09:53:12
что я делаю не так или упускаю: делаю мапердьюс из не шардированной коллекции в шардировнную (само шардирвоание на бд включено проверено) в результате видно: { "result" : "res.sharded", "counts" : { "input" : NumberLong(20554), "emit" : NumberLong(129504), "reduce" : NumberLong(30650), "output" : NumberLong(0) }, "timeMillis" : 7778, "timing" : { "shardProcessing" : 7597, "postProcessing" : 181 }, "shardCounts" : { "rs0/mongo-mongo1-1:27018,mongo-mongo2-1:27018,mongo-mongo3-1:27018" : { "input" : 20554, "emit" : 129504, "reduce" : 30650, "output" : 42542 } }, "postProcessCounts" : { "rs0/mongo-mongo1-1:27018,mongo-mongo2-1:27018,mongo-mongo3-1:27018" : { "input" : NumberLong(0), "reduce" : NumberLong(0), "output" : NumberLong(0) } }, "ok" : 1 } собственно почему на shardCounts в output есть 42к доков, а в постпроцессинге нет?

мапредьюс с параметром: out: {merge:"res.sharded",nonAtomic:true, sharded: true}

Google
Nick
29.03.2017
09:54:26
монга 3.4.2, два шарда с репликасетами shards: { "_id" : "rs0", "host" : "rs0/mongo-mongo1-1:27018,mongo-mongo2-1:27018,mongo-mongo3-1:27018", "state" : 1 } { "_id" : "rs1", "host" : "rs1/mongo-mongo4-1:27018,mongo-mongo5-1:27018,mongo-mongo6-1:27018", "state" : 1 }

yopp
29.03.2017
09:58:51
данные в коллекцию попадают?

а, вижу: "output" : NumberLong(0)

out коллекция существует? по какому ключу она шаржена?

Nick
29.03.2017
10:08:09
я ее удаляю перед запуском, поэтмоу все дефолтно с _id ключем

и она создается, но пустая

yopp
29.03.2017
10:08:43
а если второй раз выполнить запрос, не удаляя коллекцию?

Nick
29.03.2017
10:09:49
тот же самый результат выполнения

причем не шард в не шард отрабатывает корректно

yopp
29.03.2017
10:10:39
интересно. попробуй без sharded?

ага.

ты ведь на монгосе выполняешь mapreduce, да? :)

Nick
29.03.2017
10:11:22
да

https://jira.mongodb.org/browse/SERVER-16605

мой случай: Even if the collection is re-created or the entire database is dropped and re-created, or if a different database is used. The name of the output collection can never be used again. Only when outputting into a collection with a different name, the exact same map reduce job processing the exact same data will succeed.

а глобально причина https://jira.mongodb.org/browse/SERVER-17397

yopp
29.03.2017
10:24:33
The problem emerges on sharded clusters only, and only when the output collection uses a hashed index.

т.е. ты сначала создал коллекцию руками с _id hashed?

Nick
29.03.2017
10:24:53
изанчально она была создана с индексом хешеным

да

Google
Nick
29.03.2017
10:25:44
причем там даже отедьлнео поле было как индекс, потом пришлось сменить на _id

он монотонный был, по рекомендациям сделал захешенным

думал схавает

лан спасиб за наводки

yopp
29.03.2017
10:27:19
всегда рады помочь ?

интересно, а в чём у m/r проблема с hashed _id

Nick
29.03.2017
10:27:50
вот и я думал не будет хДД

вообще там идет этап сплита перед разливкой по шардам

yopp
29.03.2017
10:28:27
а вообще, три раза подуймай, нужен ли тебе hashed индекс

и тоже самое про map/reduce. баге третий год пошел, а всем срать :)

Nick
29.03.2017
10:30:03
при наличии монотонных id особо ничего ен придумаешь

yopp
29.03.2017
10:30:14
завести отдельный ключ для шардинга

ты зачем шардишь-то?

Nick
29.03.2017
10:31:29
ожидается больше терабайта данных, по которым надо гонять запросы

причем если монга справится то много больше терабайта

yopp
29.03.2017
10:32:16
вот надо от запросов идти

с hashed ключом ты ничего не получишь

только боль и унижение

hashed хорошо работает когда у нас _очень много_ уникально адресуемых данных

Nick
29.03.2017
10:32:59
над ними еще оидн мап редьюс))) который тоже генерит всеголишь на порядок меньше инфы

Google
yopp
29.03.2017
10:33:08
и мы никогда не ищем по ключу, всегда обращаемся прямо

Nick
29.03.2017
10:33:09
ну кстати примерно так и есть

yopp
29.03.2017
10:33:45
обычно в «примерно» вся жопа и кроется :)

Nick
29.03.2017
10:33:58
вот уже столкнулся

yopp
29.03.2017
10:34:59
у hashed очень узкий диапазон применений на самом деле. использование шардинга по hashed это такой совсем дубовый вариант

когда надо «быстро распихать данные по кучу железок»

Nick
29.03.2017
10:35:49
да есть проблема, у меня нет подходящего поля, которое было бы не монотонное

yopp
29.03.2017
10:36:08
а что за данные?

Страница 72 из 342