Here I will post problems I and my colleagues met and solutions we found.

Wednesday, June 30, 2010

TFS 2010 build machine workspace issues

When we converted from TFS 2008 to TFS 2010 everything seemed fine. But then I created new build definition and got this error:

The path XXX is already mapped in workspace YYY.

OK, I talked to IT who made the setup and they told they changed Build agent Working directory to

$(BuildDirectory)\$(BuildDefinitionPath)\$(BuildDefintionId) (added BuildDefinitionId).

When we tried to reverse it back we got the same error message for old converted builds, the new one started to work. Going back and forward, trying to clear workspace with tf.exe command we couldn't resolve it. Either one or another build failed.
Finally, I asked him to change Wokring Directory to some completely new folder, suspecting that we had conflict with some old settings in workspaces that we could not clean. And it helped. So, we may still have some old settings somewhere, but changing working folder to new one we had clean start and it's working so far.

Tuesday, June 29, 2010

Reporting Services and Web farm

So, we switched to using Microsoft Reporting Services instead of Local reporting. However we had one issue with our configuration. We have our web site running in a farm with two servers with NLB implemented. Also, we have one server where we have our Reporting Services running. Since reports not that critical for our application, we decided just to have one server for that.

What we found though, is very often we got this message: ReportServerException: Execution 'uj2yx4bxgzfvwsvegkwuex45' cannot be found (rsExecutionNotFound)

While first googling suggested problems with timeout, I was pretty sure it's not the issue, and started to google specifically for this error and load balancing.

What we found out is that Reporting Services create some session to handle subsequent requests. Since we have cluster, those requests come from different servers. The problem though is that in our configuration requests came from different users, particulary \NETWORK, since this is the user which is used in Application Pool. Reporting Services then denied access to since the session was created under one user and the attempt to get data was from another user.

Our solution was simple, we configured our web site to run under dedicated user, the same for both instances.

Here are links that helped me:

http://social.technet.microsoft.com/Forums/en-US/sqlreportingservices/thread/1eb12568-bfea-4e4e-bd09-1f09b055c595
http://www.andypotts.com/Blog/2009/03/30/rsExecutionNotFoundWithReportViewerInALoadBalancedReportingServicesEnvironment.aspx