I'm using the webfarm framework 2.0 on an IIS 7.5 Windows 2008 RC2 farm with two nodes. Several times a day the farm will suddenly fail. There are basically two different types of failures. One due to a thumbs.db file being locked, the other being a more concerning "applicationHost.config is invalid.". In both cases, no changes are being deployed to the farm. It just wakes up on its regular interval to check for diffs, and suddenly fails. In the first case, often a repair will correct the problem. In the second instance I often have to make an arbitrary change to the applicationhost.config file on the second node, which forces a resync.
Here are the two error messages:
1) Failed to run operation 'ProvisionApplications'. Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'. Exception in response stream. The ApplicationHost.config file is invalid. Cannot proceed with synchronization. Exception in response stream. The ApplicationHost.config file is invalid. Cannot proceed with synchronization. Microsoft.Web.Farm.WebFarmException: Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'. Exception in response stream. The Ap开发者_开发技巧plicationHost.config file is invalid. Cannot proceed with synchronization. ---> Microsoft.Web.Farm.WebFarmException: Exception in response stream ---> Microsoft.Web.Deployment.DeploymentException: The ApplicationHost.config file is invalid. Cannot proceed with synchronization.
at Microsoft.Web.Deployment.AppHostConfigProvider.Add(DeploymentObject source, Boolean whatIf)
at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable)
at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
at Microsoft.Web.Farm.SyncApplicationsRemoteMethod.RunRemote(ServerRemoteMethodContext methodContext, Object[] parameters)
at Microsoft.Web.Farm.WebFarmAgentService.HandleRunMethod(HttpListenerContext context)
--- End of inner exception stack trace ---
at Microsoft.Web.Farm.RunRemoteAsyncResult.ResponseCompleteCallback(IAsyncResult result)
--- End of inner exception stack trace ---
at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.RunOperationAsyncResult.EndProvision()
at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.EndRunOperation(IAsyncResult result)
at Microsoft.Web.Farm.RunOperationContext.FinalOperationCompleteCallback(IAsyncResult result)
2) Server marked 'Unhealthy' due to failure to run operation 'ProvisionApplications' Microsoft.Web.Farm.WebFarmException: Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'. Exception in response stream. The ApplicationHost.config file is invalid. Cannot proceed with synchronization. ---> Microsoft.Web.Farm.WebFarmException: Exception in response stream ---> Microsoft.Web.Deployment.DeploymentException: The ApplicationHost.config file is invalid. Cannot proceed with synchronization.
at Microsoft.Web.Deployment.AppHostConfigProvider.Add(DeploymentObject source, Boolean whatIf)
at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable)
at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
at Microsoft.Web.Farm.SyncApplicationsRemoteMethod.RunRemote(ServerRemoteMethodContext methodContext, Object[] parameters)
at Microsoft.Web.Farm.WebFarmAgentService.HandleRunMethod(HttpListenerContext context)
--- End of inner exception stack trace ---
at Microsoft.Web.Farm.RunRemoteAsyncResult.ResponseCompleteCallback(IAsyncResult result)
--- End of inner exception stack trace ---
at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.RunOperationAsyncResult.EndProvision()
at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.EndRunOperation(IAsyncResult result)
at Microsoft.Web.Farm.RunOperationContext.FinalOperationCompleteCallback(IAsyncResult result)
I've come across a few posts that suggest a workaround is to disable the synchronization and create a manual workflow that does the synch and ignores certain errors. But I'm hoping there is a better explanation. In the case of the thumbs.db error, I'm wondering if simply turning off thumbnail caching would help?
精彩评论