Максимальное количество повторов (6) превышено при выполнении операций с базой данных с помощью CosmosExecutionStrategy. - PullRequest
0 голосов
/ 18 октября 2019

Я работаю над проектом разработки API с использованием ASP.NET Core 2.2, GraphQL.NET, CosmosDB, Entity Framework Core (Microsoft.EntityFrameworkCore.Cosmos v2.2.4).

Во время тестирования метода API, который вытягиваетданные из AzureComosDB, иногда я получаю эту ошибку:

Microsoft.EntityFrameworkCore.Storage.RetryLimitExceededException: «Превышено максимальное количество повторов (6) при выполнении операций базы данных с CosmosExecutionStrategy». См. Внутреннее исключение для самой последней ошибки. '

Я не уверен, почему эта ошибка появляется периодически.

Может ли кто-нибудь помочь мне, предоставив некоторые рекомендации по устранению этой проблемы

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Я хотел бы узнать больше информации о файле контекста, так как в сообщении об ошибке указано: *

'Превышено максимальное количество повторов (6)'

`. Это может привести к тому, что вы пытаетесь повторно развертывать базу данных при каждом запросе. Поэтому, учитывая, что вы уже развернули базу данных в cosmosdb, рекомендуется удалить Database.EnsureCreated (), поскольку это создаст проблемы с производительностью.

См. Эту документацию длябольше информации https://docs.microsoft.com/en-us/ef/core/providers/cosmos/?tabs=dotnet-core-cli

0 голосов
/ 18 октября 2019

Прежде всего, вы проверили внутреннее исключение, как указано в ошибке?

Microsoft.EntityFrameworkCore.Storage.RetryLimitExceededException: 'Превышено максимальное количество повторов (6) при выполнении операций базы данных с'CosmosExecutionStrategy. См. Внутреннее исключение для самого последнего сбоя. '

может дать подсказку о причине сбоя.

Теперь эта ошибка вызванакосмос повторяет государственность. Если операция завершается неудачно, она повторяет попытку до до шести раз .

Вы можете изменить эту стратегию, но по умолчанию можно найти здесь . Тот факт, что он повторяется, указывает на то, что это ошибка, которая может исчезнуть при повторной попытке. Хорошим примером является сбой в подключении к сети (например, когда сигнал Wi-Fi плохой). Еще одним может быть тот факт, что запросы превышают установленные пределы блока запросов .

...