SharePoint 2010 People Search Error: DataFormWebPart.PrepareAndPerformTransform


Here are the error messages I had with this particular problem.

1. People search (a search page with People Search Box web part and People Search Core Result web part) returns the following error:

Internal server error exception: System.Threading.ThreadAbortException: Thread was being aborted.
   at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)
   at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PerformSelect()
   at Microsoft.SharePoint.WebPartPages.DataFormWebPart.DataBind()
   at Microsoft.SharePoint.WebPartPages.DataFormWebPart.EnsureDataBound()
   at Microsoft.SharePoint.WebPartPages.DataFormWebPart.CreateChildControls()
   at Microsoft.Office.Server.Search.WebControls.SearchResultsBaseWebPart.CreateChildControls()
   at Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart.CreateChildControls()

2. Content search (a search page with Search Box web part and Search Core Result web part) returns the following error:

Internal server error exception: Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are no addresses available for this application.    
    at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.DoSpLoadBalancedUriWsOp[T](WebServiceBackedOperation`1 webServiceCall, Int32 timeoutInMilliseconds, Int32 wcfTimeoutInMilliseconds, String operationName)    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.DoWebServiceBackedOperation[T](String operationName, Int32 timeoutInMilliseconds, Int32 wcfTimeoutInMilliseconds, WebServiceBackedOperation`1 webServiceCall)    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.Execute(QueryProperties properties)    
    at Microsoft.Office.Server.Search.Query.Query.Execute()    
    at Microsoft.Office.Server.Search.Query.SharePointSearchRuntime.GetQueryResult(String query)    
    at Microsoft.Office.Server.Search.Query.SharePointSearchRuntime.SendRequest(String query) Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are no addresses available for this application.    
    at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.DoSpLoadBalancedUriWsOp[T](WebServiceBackedOperation`1 webServiceCall, Int32 timeoutInMilliseconds, Int32 wcfTimeoutInMilliseconds, String operationName)    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.DoWebServiceBackedOperation[T](String operationName, Int32 timeoutInMilliseconds, Int32 wcfTimeoutInMilliseconds, WebServiceBackedOperation`1 webServiceCall)    
    at Microsoft.Office.Server.Search.Administration.SearchServiceApplicationProxy.Execute(QueryProperties properties)    
    at Microsoft.Office.Server.Search.Query.Query.Execute()    
    at Microsoft.Office.Server.Search.Query.SharePointSearchRuntime.GetQueryResult(String query)    
    at Microsoft.Office.Server.Search.Query.SharePointSearchRuntime.SendRequest(String query)

At this point, you might have went through plenty of blogs and articles about how to configure People Search in SharePoint 2010, where you have made sure the following, but feel something is still missing…

  • SharePoint Server Search  is up and running
  • Search Service Application created and started
  • User Profile Service Application created and started
  • sps3://siteURL added in one of the content source and full crawl performed
  • User Prolfile Synchronization Timer Job up and running

Well, in my case, it is the “Search Query and Site Settings Service” that was not started. You can look at this service as the Query Processor. You may have spent so much time solving errors in crawl logs and having a satisfying 200 GB index files, but without this service, it would be like owning a national library, but have no librarians to serve and lend the books to customers.

If you have multiple search/query/application servers in the farm, make sure the “Search Query and Site Settings Service” is started on the “Query Server”. Back in MOSS time, you have those 2 checkboxes where you can select the role of server (index or query), where in  In SharePoint 2010, you do this through Search Service Application…

  1. Go to SharePoint Central Admin site –> Application Management –> Manage service applications –> Search Service Application (or the name of your search service application)
  2. On search administration page, scroll down to “Search Application Topology” section
  3. Here you will see a few ‘categories’
    image
    – Crawl Component = Index server
    – Query Component = Query server

For more information about SharePoint 2010 Search Query architecture, see http://blogs.msdn.com/b/russmax/archive/2010/04/23/search-2010-architecture-and-scale-part-2-query.aspx

 

– Allen

Comments (5)

  1. Nicky says:

    Very useful information on this post.Your post has good content and important tips.Keep up the good work.

    peoplesearchmarket.blogspot.com

  2. Hello,

    I encounter a problem (a search page with People Search Box web part and People Search Core Result web part) or I do not know exactly what to do at the setup.

    Thank you in advance.

  3. allenwang says:

    Hi Magic_tun,

    I am gonna need more than "I encounter a problem" to be able to help you. I would recommend you post your problem in details on MSDN forum first. Doing that, you get thousands of professional to look at it ranther than one person (me) here..

    Cheers,

    Allen

  4. Cuthahotha says:

    Allen,

    We're getting an error similar to the People Search error listed above.  BUT it only happens if the search returns a page which includes the name of person doing the search.

    example.  Search for "Steve".  5 pages of returns.  Page 1, 3-5 all return fine, and don't include me.  Page 2 fails (and it assumed since i didn't show up in the other 4 pages that I would be on the 2nd page.

    example.  Search for "c#".  Only one page returns if others search.  But fails when I search.  Again, Im the only one who has listed expertise in C#.  (we have more, we're just now rolling out mysites.

    any suggestions?

    Thanks,

    Steve

  5. FlyingFinn says:

    Hi, bumbed into this topic when searching a solution for peculiar problem in our SP2010 people search. We also get this error when person doing the search has matching name. e.g. I as a person have name: jane doe. If I do people search either using jane or doe, I get internal error. All other people searches return correct result. Has anyone found a solution for that?