sexta-feira, 3 de outubro de 2014

Project Server - Mensagem "Erro interno ao aplicar a atualização" no histórico das aprovações




O erro "Erro interno ao aplicar a atualização" (There was an internal error applying the update) no histórico das aprovações é comum em ambientes que não possuem  os requisitos mínimos recomendados para os produtos SharePoint 2013 e Project Server 2013 ou em ambientes com problemas de desempenho e ocorre principalmente com projetos grandes.

O seguinte evento ocorre nos logs do SharePoint:


10/03/2014 06:21:35.51 Microsoft.Office.Project.Server (0x07FC) 0x21EC Project Server Task Statusing and Updates av9k Medium Error is: StatusingInternalError. Details: Status approval internal error Attributes:  Microsoft.Office.Project.Server.BusinessLayer.PcsEngine.PcsManagerException: CalcServiceProxy - EndBatchOperation - Exception ---> System.TimeoutException: CalcServiceManager : Timeout when communicating with the worker in sessionId: r2XWq+BmdkWpFUnR5t7Z4yi+7d4vlxHkr2d4K8u/e0ofDJ2i6zAR45P/ABVdTVgg9p05dkr/EeSUDQAVXU1YILfyVh8h9iFKquDFUw7DO6c=System.TimeoutException: This request operation sent to net.tcp://localhost:PORT/GUID did not receive a reply within the configured timeout (00:00:30).  The time allotted to this operation may have been a portion of a longer timeout.  This may be because the service is still processing the operation or because the service was unable to send a reply message.  Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.    Server stack trace:      at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request [...] Name: Project Server Service Application PSError: StatusingInternalError (3116), LogLevelManager Warning-ulsID:0x6176396B has no entities explicitly specified. 7685be9c-ebb6-20c1-33ba-7f54e8451c86

A solução seria corrigir os problemas de desempenho, porém as vezes existe a necessidade de atuar rápido e nós podemos contornar o problema ajustando o timeout "RequestTimeLimits" do serviço "Project Server Calculation Service" por meio do seguinte comando:

Set-SPProjectPCSSettings -Service Application "Project Server Service Application" -RequestTimeLimits 60000

O valor default é 30000ms (30 segundos):

É necessário de reiniciar o serviço "Microsoft Project Server Calculation Service" (ProjectCalcService15) depois da configuração.

Project Server deve processar as atualizações após essa mudança:


UPDATE:

A seguinte consulta identifica as atualizações que não foram aplicadas:


select p.PROJ_NAME, p.PROJ_UID, t.TASK_NAME, r.RES_NAME from pub.MSP_ASSIGNMENT_TRANSACTIONS at
inner join pub.MSP_Projects p on p.PROJ_UID = at.PROJ_UID
inner join pub.MSP_RESOURCES r on r.RES_UID = at.ASSN_TRANS_SUBMITTER_RES_UID
inner join pub.MSP_ASSIGNMENTS_SAVED t on t.TASK_UID = at.TASK_UID
where at.ASSN_TRANS_STATE_ENUM in (4) 
order by p.PROJ_NAME

UPDATE II:

Execute a seguinte consulta para aplicar as atualizações em um projeto determinado pelo GUID identificado a partir da consulta anterior.

Update pub.MSP_ASSIGNMENT_TRANSACTIONSset ASSN_TRANS_STATE_ENUM = 2where PROJ_UID = '<PROJUID-GUID>' and ASSN_TRANS_STATE_ENUM = 4

Abre o projeto no Project Professional e publique o projeto. 


Fontes:



Um comentário: