Расчет лимита в Cosmos DB

Я использую Cosmos DB с интерфейсом Gremlin, и меня озадачивает то, как Cosmos DB вычисляет лимит RU. Например: у меня есть коллекция с 400 RU. Затем я запускаю запрос, который иногда вызывает исключение RequestTooLargeException (помните, что эта коллекция используется совместно с другими пользователями). Когда я проверил его на портале, он работал до конца, потребляя почти 800 RU, согласно журналу. Когда я запускаю его снова, он выдает ошибку (как указано выше).

Несколько вопросов:

  1. почему его выполнили один раз? Разве он не должен автоматически прекращаться при превышении лимита RU?
  2. почему он не может быть выполнен снова (даже через несколько секунд)
  3. способствует ли этому эффект какой-либо параллельный запрос от других пользователей? Например. мой запрос пересекается с запросом другого пользователя?

Другими словами: каким критериям должно соответствовать Cosmos DB, чтобы сгенерировать ReuestRateTooLarge?


person Krzysztof    schedule 04.12.2020    source источник
comment
Взгляните на мой ответ здесь, в котором объясняется, как будет выполняться ваш запрос, даже если у вас возникнет задолженность RU - а затем последующее удушение, пока вы не выплатите свой долг.   -  person David Makogon    schedule 04.12.2020
comment
Да, это проливает свет на проблему. Спасибо.   -  person Krzysztof    schedule 07.12.2020