Azure дает 409 на git push

Со вчерашнего утра я получаю случайные ошибки 409 конфликтов при развертывании через Git.

$ git push azure master --force
ошибка: сбой RPC; HTTP 409 curl 22 Запрошенный URL вернул ошибку: 409 Конфликт

Это происходит через некоторое время, и иногда это проходит, но происходит сбой при развертывании следующего проекта. Со стороны кода ничего не изменилось, и это происходит со всеми моими веб-приложениями в рамках подписки.

Когда я подключаюсь к веб-приложению по SSH, появляется следующее сообщение об ошибке: Операция «Получение состояния развертывания» конфликтует с ожидающей операцией «Получение состояния развертывания», запущенной в . Повторите попытку позже. С трассировкой стека к диспетчеру развертывания Kudo (полная трассировка ниже).

Кто-нибудь когда-либо сталкивался с этой проблемой и знает, как это исправить?

Я спрашиваю об этом здесь перед отправкой билета на случай, если есть какое-либо известное исправление. Обращение в службу поддержки — это своего рода обход моей учетной записи.

Полная трассировка:

6-5af4afe2e8c0.txt~/LogFiles/kudu/trace# cat 437d8aa4270e-0fece829-6553-417d-8b96-5af4afe2e8c0.txt
2020-12-07T08:57:46              Error occurred, type: error, text: The 'Getting deployment status' operation conflicts with the pending 'Getting deployment stat
us' operation started at .  Please retry operation later., stackTrace:    at Kudu.Contracts.Infrastructure.LockExtensions.LockOperation[T](IOperationLock lockObj
, Func`1 operation, String operationName, TimeSpan timeout) in /tmp/KuduLite/Kudu.Contracts/Infrastructure/LockExtensions.cs:line 67
   at Kudu.Core.Deployment.DeploymentStatusFile.Open(String id, IEnvironment environment, IAnalytics analytics, IOperationLock statusLock) in /tmp/KuduLite/Kudu.
Core/Deployment/DeploymentStatusFile.cs:line 64
   at Kudu.Core.Deployment.DeploymentStatusManager.Open(String id) in /tmp/KuduLite/Kudu.Core/Deployment/DeploymentStatusManager.cs:line 41
   at Kudu.Core.Deployment.DeploymentManager.GetOrCreateStatusFile(ChangeSet changeSet, ITracer tracer, String deployer) in /tmp/KuduLite/Kudu.Core/Deployment/De
ploymentManager.cs:line 538
   at Kudu.Core.Deployment.DeploymentManager.DeployAsync(IRepository repository, ChangeSet changeSet, String deployer, Boolean clean, DeploymentInfoBase deployme
ntInfo, Boolean needFileUpdate, Boolean fullBuildByDefault) in /tmp/KuduLite/Kudu.Core/Deployment/DeploymentManager.cs:line 210
2020-12-07T08:58:17            Error occurred, type: error, text: One or more errors occurred. (The 'Getting deployment status' operation conflicts with the pend
ing 'Getting deployment status' operation started at .  Please retry operation later.), stackTrace:    at System.Threading.Tasks.Task.Wait(Int32 millisecondsTime
out, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Kudu.Console.Program.PerformDeploy(String appRoot, String wapTargets, String deployer, String lockPath, IEnvironment env, IDeploymentSettingsManager settin
gsManager, TraceLevel level, ITracer tracer, ITraceFactory traceFactory, IOperationLock deploymentLock) in /tmp/KuduLite/Kudu.Console/Program.cs:line 191, innerT
ext: The 'Getting deployment status' operation conflicts with the pending 'Getting deployment status' operation started at .  Please retry operation later., inne
rStackTrace:    at Kudu.Contracts.Infrastructure.LockExtensions.LockOperation[T](IOperationLock lockObj, Func`1 operation, String operationName, TimeSpan timeout
) in /tmp/KuduLite/Kudu.Contracts/Infrastructure/LockExtensions.cs:line 67
   at Kudu.Core.Deployment.DeploymentStatusFile.Open(String id, IEnvironment environment, IAnalytics analytics, IOperationLock statusLock) in /tmp/KuduLite/Kudu.
Core/Deployment/DeploymentStatusFile.cs:line 64
   at Kudu.Core.Deployment.DeploymentStatusManager.Open(String id) in /tmp/KuduLite/Kudu.Core/Deployment/DeploymentStatusManager.cs:line 41
   at Kudu.Core.Deployment.DeploymentManager.DeployAsync(IRepository repository, ChangeSet changeSet, String deployer, Boolean clean, DeploymentInfoBase deployme
ntInfo, Boolean needFileUpdate, Boolean fullBuildByDefault) in /tmp/KuduLite/Kudu.Core/Deployment/DeploymentManager.cs:line 279
   at Kudu.Console.Program.<>c__DisplayClass1_0.<<PerformDeploy>b__1>d.MoveNext() in /tmp/KuduLite/Kudu.Console/Program.cs:line 182
2020-12-07T08:58:47    Error occurred, type: error, text: StatusCode cannot be set because the response has already started., stackTrace:    at Microsoft.AspNetC
ore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ThrowResponseAlreadyStartedException(String value)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.set_StatusCode(Int32 value)
   at Kudu.Services.GitServer.ReceivePackHandlerMiddleware.Invoke(HttpContext context, ITracer tracer, IGitServer gitServer, IDictionary`2 namedLocks, IDeploymen
tManager deploymentManager, IRepositoryFactory repositoryFactory, IEnvironment environment) in /tmp/KuduLite/Kudu.Services/GitServer/ReceivePackHandlerMiddleware
.cs:line 114
   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Kudu.Services.Web.Tracing.TraceMiddleware.Invoke(HttpContext context) in /tmp/KuduLite/Kudu.Services.Web/Tracing/TraceMiddleware.cs:line 64

Обновление: это автоматически исправилось через пару дней


person user480355    schedule 08.12.2020    source источник


Ответы (1)


попробуйте увеличить/уменьшить свой ASP. это перезагрузит виртуальную машину и, возможно, очистит отложенное развертывание.

person Ismayil T.    schedule 18.12.2020
comment
Спасибо, Исмаил, хорошее предложение. Любой, кто окажется здесь, должен попробовать это. Для меня эта проблема исчезла через пару дней. - person user480355; 19.12.2020