onsdag 26 juni 2013

Failed to run flow Microsoft.CustomDictionaryDeployment

I've been stuck on a petty search-related issue in SharePoint 2013 for a while now, and FINALLY solved the shit!

You see the following failed timer jobs in Central Admin:

 







Eventlog is spammed every 10 minutes:


The Execute method of job definition Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition (ID 5a7f11db-d042-4051-b52c-dd28b4bb5dca) threw an exception. More information is included below.

Failed to run flow Microsoft.CustomDictionaryDeployment. Correlation Id: 521b299c-baf4-d067-82a7-d6b3f1c19aef.

ULS logs shows the following error:
Information      Custom dictionary deployment timer job started. SearchComponent: OWSTIMER.EXE, SearchServiceApplication: {f3303f37-5871-470c-8dd1-6a22d31998f0}.    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Medium      Found settings: Dictionaries last checked for changes 01/01/1754 00:00:00    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Medium      WcfSendRequest: RemoteAddress: 'http://server:32843/2522386c09e545599461de90989c02b9/MetadataWebService.svc' Channel: 'Microsoft.SharePoint.Taxonomy.IMetadataWebServiceApplication' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChangedTermSets' MessageId: 'urn:uuid:b1c14f44-c081-4a11-89f1-ed9fcb379b11'    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Information    Dictionary deployment started. SearchComponent: OWSTIMER.EXE, CorrelationId: e77d30dd-a7cd-4708-8743-81011e7cf57b, SearchServiceApplication: {f3303f37-5871-470c-8dd1-6a22d31998f0}, DictionaryName: Microsoft.UserDictionaries.EntityExtraction.Companies.Inclusions, TermSetId: c866ca65-f095-4a16-9249-028d500f7703, FlowId: {34e1f2d1-b957-4a7b-9ba9-e80cc73c926e}, FlowName: Microsoft.CustomDictionaryDeployment    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Warning     Dictionary deployment failed. SearchComponent: OWSTIMER.EXE, CorrelationId: e77d30dd-a7cd-4708-8743-81011e7cf57b, SearchServiceApplication: {f3303f37-5871-470c-8dd1-6a22d31998f0}, DictionaryName: Microsoft.UserDictionaries.EntityExtraction.Companies.Inclusions, Component:FlowExecution, FailureMessage: Deployment (flow:Microsoft.CustomDictionaryDeployment) for custom dictionary c866ca65-f095-4a16-9249-028d500f7703 did not complete successfully. Flow execution state was: Failed. Failure: Evaluation failure. An evaluation thread threw an exception. (Exception type: Microsoft.Ceres.Evaluation.DataModel.EvaluationException. Exception message: Evaluation failed in operator RepoWriter of type DictionaryRepositoryWriter), Cause: Microsoft.Ceres.ContentEngine.Services.ContentIntegrationEngine.FailC...    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Warning     ...auseException: Evaluation failed in operator RepoWriter of type DictionaryRepositoryWriter.    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Warning     Custom dictionary deployment timer job failed. SearchComponent: OWSTIMER.EXE, SearchServiceApplication: {f3303f37-5871-470c-8dd1-6a22d31998f0}, FlowName: Microsoft.CustomDictionaryDeployment, CorrelationId: {6a1c299c-9afa-d067-82a7-d7a23f3bb19d}, Failure: System.InvalidOperationException: Failed to run flow Microsoft.CustomDictionaryDeployment. Correlation Id: e77d30dd-a7cd-4708-8743-81011e7cf57b.     at Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition.DoExecute(CtsConnection connection)     at Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition.ExecuteTimerJob().    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Critical    The Execute method of job definition Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition (ID 5a7f11db-d042-4051-b52c-dd28b4bb5dca) threw an exception. More information is included below.  Failed to run flow Microsoft.CustomDictionaryDeployment. Correlation Id: 6a1c299c-9afa-d067-82a7-d7a23f3bb19d.    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Unexpected    Exception stack trace:    at Microsoft.Office.Server.Search.Administration.CustomDictionaryDeploymentJobDefinition.ExecuteTimerJob()     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result)    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Medium      Leaving Monitored Scope (Timer Job Search Custom Dictionaries Update for Search Application f3303f37-5871-470c-8dd1-6a22d31998f0.). Execution Time=2674.81076505534    6a1c299c-9afa-d067-82a7-d7a23f3bb19d

Solution:
I started the SharePoint Search Host Controller Service on every server in the farm, and suddenly the timer job finished successfully.

My topology:
4 app servers
3 web servers


The SSHC service was not started on web1 and web2, however there are no other search components on those servers... I guess there must be some old info in the configuration db which is looking for info on web1 and 2...
The SSHC service should only be enabled on servers with search components activated as far as I know, so this is really not a good solution.


Also: Make sure you have given your search service account read permission to the Managed Metadata Service Application. Or else you could get errors aswell. See following post:
http://get-sharepoint.com/tag/error/


2 kommentarer:

  1. Thanks for this blog entry!...link dead at bottom, btw

    SvaraRadera
  2. Hello there, we have exactly the same problem. Were you able disable the search host on the other machines after enabling the services for a bit or did you have to leave them enabled?

    many thanks,

    Phil

    SvaraRadera