Поддерживает ли конвейер Mongo Aggregation CosmosDB `maxTimeMS`? - PullRequest
0 голосов
/ 05 июня 2018

TL; DR: Cosmos, похоже, игнорирует параметр maxTimeMS.

Я работаю с довольно большой многораздельной коллекцией CosmosDB (несколько миллионов документов) с использованием API MongoDB и обнаружил, что некоторые агрегатыистекают через ~ 10 секунд.Я могу нормально запросить с очень маленькими окнами (то есть с очень конкретными критериями соответствия), но если я сопоставлю 50 000+ документов, время ожидания запроса.Если это уместно, я использую индексы по умолчанию, добавленные Cosmos.

Я пытался передать maxTimeMs (30 с) и установить другие параметры тайм-аута на моем клиенте Mongo, но безрезультатно.

Для справки я использую драйвер C # Mongo и вот команда:

{
  "aggregate" : "MyDocuments",
  "pipeline" : [{
      "$match" : {
        "Created" : {
          "$gt" : ...,
          "$lt" : ...
        }
      }
    }, {
      "$group" : {
        "_id" : "$QueryTerms",
        "Count" : {
          "$sum" : 1
        },
        "FooCount" : {
          "$max" : "$Foo.Count"
        },
        "Bar" : {
          "$first" : "$Bar"
        }
      }
    }, {
      "$sort" : {
        "Count" : -1
      }
    }],
  "maxTimeMS" : 30000.0,
  "cursor" : { }
}
...