yopp
18.02.2018
16:32:23
Они не обязательно сразу поедут. Может быть у вас там другие миграции не завершились
Max
18.02.2018
16:33:25
3.4.13
других миграций нет
я уже и по состоянию смотрю, и по трафику на интерфейсе...
balancer:
Currently enabled: yes
Currently running: no
Google
yopp
18.02.2018
16:35:35
Ошибки миграций есть?
Max
18.02.2018
16:36:59
есть.
но они появились после ручных миграций чанков - когда двигались в цикле какието куски.
засек значения, подождём, будут ли увеличиваться.
они уменьшаются :))
там же last 24 hrs
как-то можно обнулить полностью статистику эту?
yopp
18.02.2018
16:47:37
Не надо её обнулять. Успешных миграций нет?
Max
18.02.2018
16:49:06
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
589 : Success
393 : Failed with error 'aborted', from DSP-SG-shard01 to DSPRSv01
266 : Failed with error 'aborted', from DSPRSv01 to DSP-SG-shard01
6071 : Failed with error 'aborted', from DSP-SG-shard01 to DSP-SG-shard01
сейчас вопрос в том, почему не меняется зона для шарда, если внутри шарда все совпадает для другой зоны
yopp
18.02.2018
16:54:12
А сколько всего данных там?
Max
18.02.2018
16:55:16
Shard DSP-SG-shard01 at DSP-SG-shard01/mongo-SG-shard-01:27000,mongo-SG-shard-02:27000
data : 23.18GiB docs : 23665800 chunks : 2011
estimated data per chunk : 11.8MiB
estimated docs per chunk : 11768
Shard DSPRSv01 at DSPRSv01/mongo-rs-02:27000,mongo-rs-03:27000
data : 598.91GiB docs : 532651896 chunks : 20920
estimated data per chunk : 29.31MiB
estimated docs per chunk : 25461
Totals
data : 622.1GiB docs : 556317696 chunks : 22931
Shard DSP-SG-shard01 contains 3.72% data, 4.25% docs in cluster, avg obj size on shard : 1KiB
Shard DSPRSv01 contains 96.27% data, 95.74% docs in cluster, avg obj size on shard : 1KiB
yopp
18.02.2018
16:56:27
А что в логе монгосов?
По SHARDING
У вас там случайно delayed реплики нет?
Max
18.02.2018
17:00:33
нет, delayed нет.
2018-02-16T17:03:24.450-0800 I SHARDING [conn27774] Refreshing chunks for collection DBNAME.COLLNAME based on version 511|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:24.456-0800 I SHARDING [CatalogCacheLoader-770] Refresh for collection DBNAME.COLLNAME took 5 ms and found version 512|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:25.340-0800 I SHARDING [conn28873] Refreshing chunks for collection DBNAME.COLLNAME based on version 512|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:25.344-0800 I SHARDING [CatalogCacheLoader-770] Refresh for collection DBNAME.COLLNAME took 3 ms and found version 512|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:56.262-0800 I SHARDING [conn27582] Refreshing chunks for collection DBNAME.COLLNAME based on version 512|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:56.268-0800 I SHARDING [CatalogCacheLoader-771] Refresh for collection DBNAME.COLLNAME took 6 ms and found version 513|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:56.987-0800 I SHARDING [conn28873] Refreshing chunks for collection DBNAME.COLLNAME based on version 513|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:03:56.990-0800 I SHARDING [CatalogCacheLoader-771] Refresh for collection DBNAME.COLLNAME took 3 ms and found version 513|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:04:29.079-0800 I SHARDING [conn27073] Refreshing chunks for collection DBNAME.COLLNAME based on version 513|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:04:29.085-0800 I SHARDING [CatalogCacheLoader-772] Refresh for collection DBNAME.COLLNAME took 6 ms and found version 514|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:04:29.931-0800 I SHARDING [conn28873] Refreshing chunks for collection DBNAME.COLLNAME based on version 514|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:04:29.936-0800 I SHARDING [CatalogCacheLoader-772] Refresh for collection DBNAME.COLLNAME took 4 ms and found version 514|1||5a86a96c8fb2d1890910fb94
от вчера. больше ничего по sharding нет
yopp
18.02.2018
17:01:47
Эм
Google
yopp
18.02.2018
17:01:55
А сколько у вас монгосов?
Если вы руками двигали, в лог moveChunk должен был попасть
Max
18.02.2018
17:02:59
монгосов сейчас три
yopp
18.02.2018
17:05:39
На всех трёх в логах ничего нет? (И логи куда-нибудь на gist.github.com кидайте)
Max
18.02.2018
17:08:00
да вот куда ни гляну - везде типа
2018-02-16T17:04:29.931-0800 I SHARDING [conn28873] Refreshing chunks for collection DBNAME.COLLNAME based on version 514|1||5a86a96c8fb2d1890910fb94
2018-02-16T17:04:29.936-0800 I SHARDING [CatalogCacheLoader-772] Refresh for collection DBNAME.COLLNAME took 4 ms and found version 514|1||5a86a96c8fb2d1890910fb94
и ничего интересного больше
смотрю дальше, увижу чтот - поделюсь
yopp
18.02.2018
17:09:19
А если по moveChunk грепнуть?
Max
18.02.2018
17:24:48
простите, отлучался
по moveChunk вообще тишина. видать чтото такое добавили в более свежих версиях mongose
смотрю в
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongoRSmongos.log
movechunk в лог mongod пишется, не монгоса
сейчас ASIA пытается двинуть какие-то чанки в USA
я так понимаю это после splitAt по странам, однако USA не принимает их.
Штаты говорят:
2018-02-18T10:28:33.013-0800 W SHARDING [conn883119] can't accept new chunks because there are still 948 deletes from previous migration
вот эти 948 deletes неторопливо уменьшаются. Крайне неторопливо, но все же.
ну а со стороны ASIA вот такое
2018-02-18T10:31:31.494-0800 I COMMAND [conn967] command admin.$cmd appName: "MongoDB Shell" command: moveChunk { moveChunk: "DB.COLLNAME", shardVersion: [ Timestamp 1989000|622, ObjectId('5a86a96c8fb2d1890910fb94') ], epoch: ObjectId('5a86a96c8fb2d1890910fb94'), configdb: "DSP-CSRS-01/mongo-rs-02:27050,mongo-rs-03:27050,mongo-ie-csrs:27050,mongo-SG-shard-01:27050,mongo-SG-shard-02:27050", fromShard: "DSP-SG-shard01", toShard: "DSPRSv01", min: { country: "co", ip: "000.000.000.000" }, max: { country: "co", ip: "152.200.242.41" }, chunkVersion: [ Timestamp 1989000|122, ObjectId('5a86a96c8fb2d1890910fb94') ], maxChunkSizeBytes: 67108864, waitForDelete: false, takeDistLock: false } exception: can't accept new chunks because there are still 947 deletes from previous migration code:200 numYields:388 reslen:300 locks:{ Global: { acquireCount: { r: 786, w: 2 } }, Database: { acquireCount: { r: 392, w: 2 } }, Collection: { acquireCount: { r: 392, W: 2 } } } protocol:op_command 3528ms
не очень ясно, что это за delete такие, но оно сейчас внутри себя чтото пилит.
ждём.
для истории - -вот это все в логах mongodb, который primary.
Artem
18.02.2018
21:48:54
сейчас ASIA пытается двинуть какие-то чанки в USA
я так понимаю это после splitAt по странам, однако USA не принимает их.
Штаты говорят:
2018-02-18T10:28:33.013-0800 W SHARDING [conn883119] can't accept new chunks because there are still 948 deletes from previous migration
вот эти 948 deletes неторопливо уменьшаются. Крайне неторопливо, но все же.
ну а со стороны ASIA вот такое
2018-02-18T10:31:31.494-0800 I COMMAND [conn967] command admin.$cmd appName: "MongoDB Shell" command: moveChunk { moveChunk: "DB.COLLNAME", shardVersion: [ Timestamp 1989000|622, ObjectId('5a86a96c8fb2d1890910fb94') ], epoch: ObjectId('5a86a96c8fb2d1890910fb94'), configdb: "DSP-CSRS-01/mongo-rs-02:27050,mongo-rs-03:27050,mongo-ie-csrs:27050,mongo-SG-shard-01:27050,mongo-SG-shard-02:27050", fromShard: "DSP-SG-shard01", toShard: "DSPRSv01", min: { country: "co", ip: "000.000.000.000" }, max: { country: "co", ip: "152.200.242.41" }, chunkVersion: [ Timestamp 1989000|122, ObjectId('5a86a96c8fb2d1890910fb94') ], maxChunkSizeBytes: 67108864, waitForDelete: false, takeDistLock: false } exception: can't accept new chunks because there are still 947 deletes from previous migration code:200 numYields:388 reslen:300 locks:{ Global: { acquireCount: { r: 786, w: 2 } }, Database: { acquireCount: { r: 392, w: 2 } }, Collection: { acquireCount: { r: 392, W: 2 } } } protocol:op_command 3528ms
не очень ясно, что это за delete такие, но оно сейчас внутри себя чтото пилит.
ждём.
Я сталкивался с подобным. Если настраивается окно балансировки, то после операций перемещения чанков следовала пачка удалений и если схд не скмое быстрое, то удаление существенно дольше занимает времени
Но у меня версия монгоса была 3.4.1
yopp
19.02.2018
06:45:23
сейчас ASIA пытается двинуть какие-то чанки в USA
я так понимаю это после splitAt по странам, однако USA не принимает их.
Штаты говорят:
2018-02-18T10:28:33.013-0800 W SHARDING [conn883119] can't accept new chunks because there are still 948 deletes from previous migration
вот эти 948 deletes неторопливо уменьшаются. Крайне неторопливо, но все же.
ну а со стороны ASIA вот такое
2018-02-18T10:31:31.494-0800 I COMMAND [conn967] command admin.$cmd appName: "MongoDB Shell" command: moveChunk { moveChunk: "DB.COLLNAME", shardVersion: [ Timestamp 1989000|622, ObjectId('5a86a96c8fb2d1890910fb94') ], epoch: ObjectId('5a86a96c8fb2d1890910fb94'), configdb: "DSP-CSRS-01/mongo-rs-02:27050,mongo-rs-03:27050,mongo-ie-csrs:27050,mongo-SG-shard-01:27050,mongo-SG-shard-02:27050", fromShard: "DSP-SG-shard01", toShard: "DSPRSv01", min: { country: "co", ip: "000.000.000.000" }, max: { country: "co", ip: "152.200.242.41" }, chunkVersion: [ Timestamp 1989000|122, ObjectId('5a86a96c8fb2d1890910fb94') ], maxChunkSizeBytes: 67108864, waitForDelete: false, takeDistLock: false } exception: can't accept new chunks because there are still 947 deletes from previous migration code:200 numYields:388 reslen:300 locks:{ Global: { acquireCount: { r: 786, w: 2 } }, Database: { acquireCount: { r: 392, w: 2 } }, Collection: { acquireCount: { r: 392, W: 2 } } } protocol:op_command 3528ms
не очень ясно, что это за delete такие, но оно сейчас внутри себя чтото пилит.
ждём.
USA не успевает асинхронно удалить смигрированные чанки. Возможно надо включить _waitForDelete, для синхронного удаления
BuHuIIIko
19.02.2018
11:26:35
Извиняюсь за глупый вопрос
Но почему выдаёт AuthenticationError, я правильно указал пароль и юзер и все равно выдает Error
GNU/Docker
19.02.2018
11:28:16
это не папка
это URI
BuHuIIIko
19.02.2018
11:28:32
Спасибо за наводку
Google
GNU/Docker
19.02.2018
11:28:46
ну это не наводка, просто используйте правильные термины.
BuHuIIIko
19.02.2018
11:29:10
Я изучаю pymongo всего три дня
Хотя, пойду дальше листать гугл
GNU/Docker
19.02.2018
11:29:34
это общий термин
BuHuIIIko
19.02.2018
11:29:53
URL то знаю
GNU/Docker
19.02.2018
11:29:54
URI, URL
про Auth не могу подсказать, не использовал никогда.
BuHuIIIko
19.02.2018
11:30:41
Ок
GNU/Docker
19.02.2018
11:32:04
а вы там какую-то игрулю пилите чтоли
BuHuIIIko
19.02.2018
11:32:22
Да так, всегда что то пилю
Для телеграма
GNU/Docker
19.02.2018
11:32:43
class_ не очень префикс для модуля
без него лучше
BuHuIIIko
19.02.2018
11:32:54
Мне так удобнее
GNU/Docker
19.02.2018
11:32:59
почему?
BuHuIIIko
19.02.2018
11:33:16
Обычно использую pickle, но там херня с сохранением класса
GNU/Docker
19.02.2018
11:33:21
from .armor import Armor выглядит лучше.
а причём тут пикл?
Ой, это оффтоп. Можно в личку.
Тут не стоит.
Google
Dmitry
19.02.2018
11:46:00
можно ещё в @piterpy_meetup :)
GNU/Docker
19.02.2018
11:51:45
Я избегаю чатов с питонистами по личным причинам.
Slava
19.02.2018
14:45:17
Я конечно могу ошибаться, но судя по этому документу в WT можно включить LSM? https://github.com/wiredtiger/wiredtiger/wiki/Btree-vs-LSM
пробовал ли кто такое?) у меня чисто академический интерес
Serhio
19.02.2018
14:58:10
yopp
19.02.2018
15:00:01
Зачем?
ptchol
19.02.2018
15:02:48
Ок
есть комикс с твоим именем. Про наркозависимую ведьму, с чорным котом и другом, антропоморфной совой.
Slava
19.02.2018
15:03:05
просто ради интереса, так-то +/- ясны ? https://jira.mongodb.org/browse/SERVER-18396 вот issue на этот счет даже есть)
yopp
19.02.2018
15:04:28
Slava
19.02.2018
15:05:02
хм, в issue говорят что сама монга не поддерживает
yopp
19.02.2018
15:06:43
Эм. Легко поверить: при создании коллекции передай конфиг wt с type=lsm
Я сейчас не смогу проверить
BuHuIIIko
19.02.2018
15:08:30
И комикс в их вселенной "megahex"
yopp
19.02.2018
15:08:57
Но я не вижу причин почему оно не должно работать, там api одно на всех setkey setvalue
Slava
19.02.2018
15:10:00
yopp
19.02.2018
15:11:08
Artyom
20.02.2018
16:19:08
Всем привет. Подскажите мне пожалуйста одну вещь. Есть такая запись в таблице: { "_id" : ObjectId("5a8bec4d9a89204293378e22"), "id" : 356, "name" : "Видеодомофон J2000-DF-ЕКАТЕРР�РќРђ", "sections" : [ 29 ], "with_install" : 0, "novelty" : 0, "hit" : 0, "stock" : 0, "discontinued" : 0, "brand_id" : 20, "properties" : [ { "id" : 3, "value" : "120 С… 170 С… 17 РјРј" }, { "id" : 4, "value" : "36" }, { "id" : 5, "value" : "56" }, { "id" : 14, "value" : "44" }, { "id" : 14, "value" : "84" }, { "id" : 33, "value" : "24" }, { "id" : 66, "value" : "155" }, { "id" : 74, "value" : "49" }, { "id" : 75, "value" : "34" }, { "id" : 76, "value" : "1" }, { "id" : 77, "value" : "21" }, { "id" : 79, "value" : "1" }, { "id" : 81, "value" : "57" }, { "id" : 82, "value" : "60" }, { "id" : 83, "value" : "66" }, { "id" : 88, "value" : "107" }, { "id" : 92, "value" : "0" }, { "id" : 93, "value" : "0" }, { "id" : 94, "value" : "6" }, { "id" : 95, "value" : "70" }, { "id" : 96, "value" : "0" }, { "id" : 97, "value" : "48" }, { "id" : 98, "value" : "2" }, { "id" : 100, "value" : "0" }, { "id" : 101, "value" : "0" }, { "id" : 102, "value" : "0" }, { "id" : 103, "value" : "0" }, { "id" : 104, "value" : "0" }, { "id" : 105, "value" : "0" }, { "id" : 107, "value" : "42" }, { "id" : 109, "value" : "46" }, { "id" : 110, "value" : "52" }, { "id" : 112, "value" : "0" }, { "id" : 113, "value" : "DF-ЕКАТЕРР�РќРђ" }, { "id" : 120, "value" : "186" }, { "id" : 121, "value" : "0" } ] }
Пишу такой запрос: db.getCollection('catalog_products').find({id: 356, "properties.id": 96, "properties.value": "1"});
Но эта запись попадает в выборку. Как я понял, это происходит из-за того, что у других элементов properties есть значение value которое равно "1". Подскажите пожалуйста, как можно написать запрос так, чтобы при выборке фильтр действовал в пределах одного объекта из properties?
BuHuIIIko
20.02.2018
16:26:28
find_one
Google
BuHuIIIko
20.02.2018
16:26:44
Либо указывай больше арументов
Ilya
20.02.2018
16:31:42
тут нужен примерно такой запрос:
id: 365,
properties:{
"$elemMatch": {
"id": 96,
"value": 1
}
}
Artyom
20.02.2018
16:35:19
yopp
20.02.2018
19:49:58
В следующий раз за попытку разжечь — бан
Без возможности амнистии
IGOR
21.02.2018
17:13:43
Ребята а что за новый прикол MongoError: Authentication failed.
а не тот, вот этот MongoError: not master
Aleksandr
22.02.2018
06:16:15
а где можно ознакомиться на тему проектирования индексов для аггрегации?