Skip to main content

PWA - Every Queuejob is failing (The value's length for key 'application name' exceeds it's limit of '128', ReportingResourceChangeMessageFailed, ProjectPublishFailure)

Today I came across a very strange problem. On a newly install server every queue job was failing. Project Create, Resource Change, Workflow submit, every reporting job and some project job was failing.

Problem:

I started looking into the queue to find an explanation. Here I found several errors, but could not make any sense of them.
Resource Reporting Error:
 Generelt•Reporting message processor failed:◦ReportingResourceChangeMessageFailed (24008) - The value's length for key 'application name' exceeds it's limit of '128'.. Detaljer: id='24008' name='ReportingResourceChangeMessageFailed' uid='3f02fa38-f574-e411-93fd-00155d007817' QueueMessageBody='Resource UID: 'dc548543-3352-454e-a86b-96d1a4bf63d2'. ChangeType='Alter'. ResourceChangeType='All'' Error='The value's length for key 'application name' exceeds it's limit of '128'.'.   
 ◦ReportingResourceChangeMessageFailed (24008) - The value's length for key 'application name' exceeds it's limit of '128'.. Detaljer: id='24008' name='ReportingResourceChangeMessageFailed' uid='4102fa38-f574-e411-93fd-00155d007817' QueueMessageBody='Resource UID: 'dc548543-3352-454e-a86b-96d1a4bf63d2'. ChangeType='Alter'. ResourceChangeType='All'' Error='The value's length for key 'application name' exceeds it's limit of '128'.'.   
 ◦ReportingResourceChangeMessageFailed (24008) - The value's length ...........  
   
   

Project Create Error:
 Generelt•Microsoft.Office.Project.Server.BusinessLayer.Queue.Message:◦ProjectPublishFailure (23000). Detaljer: id='23000' name='ProjectPublishFailure' uid='e42751bd-f874-e411-93fd-00155d007817' projectuid='99d8e3b1-f574-e411-93fd-00155d007817' messagetype='Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.UpdatePublishStaleFlagMessage' messageID='32' stage='MSP_UPDATE_PUBLISH_STALE_FLAGS' blocking='Block'.   
   
 •Queue:◦GeneralQueueJobFailed (26000) - ProjectPublish.UpdatePublishStaleFlagMessage. Detaljer: id='26000' name='GeneralQueueJobFailed' uid='e52751bd-f874-e411-93fd-00155d007817' JobUID='a7d8e3b1-f574-e411-93fd-00155d007817' ComputerName='dbe6713d-1f94-451a-8426-16547c0b512f' GroupType='ProjectPublish' MessageType='UpdatePublishStaleFlagMessage' MessageId='32' Stage='MSP_UPDATE_PUBLISH_STALE_FLAGS' CorrelationUID='48b5cf9c-a9b3-8036-b512-f107af415cb9'. Der er flere oplysninger i ULS-logfilerne pÃ¥ computeren dbe6713d-1f94-451a-8426-16547c0b512f for poster med Job-UID a7d8e3b1-f574-e411-93fd-00155d007817.   

Also in the ULS logs I notice the following two lines:

 System.ArgumentException: The value's length for key 'application name' exceeds it's limit of '128'.   at System.Data.SqlClient.SqlConnectionString.ValidateValueLength(String value, Int32 limit, String key)   at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)   at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)   at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)   at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)   at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)   at System.Data.SqlClient.SqlConnection..ctor(String connectionString, SqlCredential credential)   at Microsoft.Office.Project.Server.Data.SqlSession.OpenConnection()   at Microsoft.Office.Project.Server.Data.TransactionalSqlSession.RetrySqlConnectionInitialization(Action`1 initializer)   at Microsoft.Office.Project.Server.Data.TransactionalSqlSession.OpenConnection()   at Microsoft.Office.Project.Server.Data.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior, SqlQueryData monitoringData, Boolean retryForDeadLock).....  
   
 SqlCommand: '--Handle Update Using Sproc : MSP_Epm_UpdateWorkflowPhase SELECT @bp0 AS SQLBatchRequestColumnName; EXEC [dbo].MSP_Epm_UpdateWorkflowPhase @PhaseUID, @PhaseName, @PhaseDescription; '   CommandType: Text CommandTimeout: 30   Parameter: '@bp0' Type: UniqueIdentifier Size: 0 Direction: Input Value: 'cea2a731-f674-e411-93fd-00155d007817'   Parameter: '@PhaseUID' Type: UniqueIdentifier Size: 0 Direction: Input Value: 'caf3b122-9bc8-4f46-96b0-18976722ad9e'   Parameter: '@PhaseName' Type: NVarChar Size: 255 Direction: Input Value: 'Analyse'   Parameter: '@PhaseDescription' Type: NVarChar Size: 1000 Direction: Input Value: 'Opstarten af projektet hvor Start stage udføres'  

Solution:

The problem is apparently a new issue in SQL Server 2012. There is a limitation of 128 characters in the connection string and the problem only manifests itself when the queue starts to process jobs.
To solve the problem I simply renamed the Project Server database to something much shorter (SPDEV_PWA):


Of cause you also have to do a reprovisioning of the PWA instance after you rename the database. Otherwise Project Server will not be able to find your server.

On a site note: many SQL blogs suggested the file path to the database file (.mdf) was too long. I tried to move the database to the root of my E:\ drive but it did not solve the problem.



Comments

Popular posts from this blog

Azure DevOps - Gantt Chart

It's been a while since my last post - in the past couple of weeks I have played around with some videos of topics I find interesting. One of these topics are a very cool way of displaying a Gantt Chart upon your Azure DevOps board's. Check it out here!

Project Server - Change field name on PDP for standard fields (like the Owner field)

Project Server - Change owner field name on PDP The field names on the PDPs (Project Detail Pages) has been preselected on the standard fields for a project. If you want to change the Owner to something else it is quite difficult. In the following i will explain how we can change this field through the Content Editor webpart. To change the owner field add a Content Editor webpart to the PDP page where the field is inserted. Select the webpart and from the ribbon select HTML->Edit HTML Source. Copy/Paste the following code into the Content Editor webpart. < script type ="text/javascript">     var old_name = "Owner" ;     var new_name = "Ansvarlig" ;     var ttnA = document.getElementsByTagName( "div" );     for ( var j = 0; j < ttnA.length; j++) {         var orig = ttnA[j].innerHTML;         var stripped = orig.replace( /^\s*/ , "" ).replace( /\s*$/ , &quo

PowerShell results size unlimited/truncated - $FormatEnumerationLimit/Width

Ever experienced the problem where you run a Powershell command and you cannot see the whole result because the result is truncated. Problem: If you for example run the Test-SPsite command you might see something like the following: Site : SPSite Url=http://atlas/pwa Results : { SPSiteHealthResult Status=Passed RuleName="Conflicting Content Types" RuleId=befe203b-a8c0-48c2-b5f0-27c10f9e1622, SPSiteHealthResult Status=FailedWarning RuleName="Customized Files" RuleId=cd839b0d-9707-4950-8fac-f306cb920f6c, SPSiteHealthResult Status=Passed RuleName="Missing Galleries" RuleId=ee967197-ccbe-4c00-88e4-e6fab81145e1, SPSiteHealthResult Status=Passed RuleName="Missing Parent Content Types" RuleId=a9a6769f-7289-4b9f-ae7f-5db4b997d284, SPSiteHealthResult Status=FailedError RuleName="Missing Site Templates" RuleId=5258ccf5-e7d6-4df7-b8ae-12fcc0513ebd,