Тайм-аут длинных запросов DocumentDB даже с maxTimeMS: 0 - PullRequest
1 голос
/ 04 июня 2019

Я пытаюсь запросить documentDB с 500M документов (1Tb).

var t1 = Date.now();
'Total X Records:';
db.runCommand({aggregate: "house",
pipeline: [{$project: {'_id': 1, 'foo.x': 1}},
{$match: {'foo.x.y': {$in: ['2018-12-15']}}},
{$unwind: '$foo.x'},
{$match: {'foo.x.y': {$in: ['2018-12-15']}}},
{$group: {'_id': null, 'count': {$sum: 1}}}],
cursor:{},
allowDiskUse: true,
maxTimeMS:0
});

var t2 = Date.now();
print("Time in ms: ")
print(t2-t1);

Тот же запрос выполняется в кластере монго (10 монгод) ~ 1 час.

Когда я запускаю тот же запрос в DocumentDB (6 экземпляров db.r4.xlarge) выдает ошибку через 2 часа.

{ "ok" : 0, "errmsg" : "operation was interrupted", "code" : 11601 }
Time in ms: 
7226913
bye

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Время ожидания запросов AWS DocumentDB через 2 часа с настройками по умолчанию. В настоящее время они не поддерживают настройку maxTimeMS на дату.

0 голосов
/ 04 июня 2019

В настоящее время $ in не поддерживается.

https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis-aggregation-pipeline.html supported array opt documentdb

...