0

从昨天早上开始,我在通过 Git 部署时收到随机的 409 冲突错误。

$ git push azure master --force
错误:RPC 失败;HTTP 409 curl 22 请求的 URL 返回错误:409 冲突

这会在一段时间后发生,有时它确实通过但在下一个正在部署的项目中失败。代码方面没有任何变化,订阅内的所有网络应用都会发生这种情况。

当我 SSH 进入 Web 应用程序时,我可以找到以下错误消息: “获取部署状态”操作与挂起的“获取部署状态”操作冲突于 . 请稍后重试操作。 通过堆栈跟踪到 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

更新:这会在几天内自动修复

4

1 回答 1

0

尝试扩大/缩小您的 ASP。这将重新启动虚拟机并可能清理挂起的部署。

于 2020-12-18T19:05:14.643 回答