Skip Ribbon Commands
Skip to main content

Quick Launch

Home
August 11
Blank site definition and Metadata columns

While working with a customer it was discovered that you do not have the option to use Content Type syndication or Managed Metadata columns when you create the site with a Blank Site definition. After systematically adding feature after feature we discovered that the Wiki Home Page feature must be enabled on the Root Site in the site collection. Upon digging further into why it was discovered that this particular feature includes TaxonomyFeatureStapler Feature. Within that Feature staple is the TaxonomyFieldAdded Feature.

 

RESOLUTION
To enable the TaxonomyFieldAdded feature for a given site:

1.) Open the SharePoint Management Console.

2.) Type the following command to enable the TaxonomyFieldAdded feature (replace the URL to match your environment):

"enable-spfeature to enable the feature i.e.:
enable-spfeature –identity TaxonomyFieldAdded –url  http://targetSite.contoso.com <enter>

 

A KB is forthcomming. ​

July 22
First 2010 CU is available

I don't normally recommend a CU until it's been out a bit. However in this case the I highly recommend it.

Stefan has the details on the download.

http://blogs.technet.com/b/stefan_gossner/archive/2010/07/22/the-first-cumulative-update-for-sharepoint-2010-family-has-been-released.aspx

July 16
Almost Parallel DB Attach

Recently I was helping out in troubleshooting a My Site upgrade when we stumbled on Parallel db attach.

Started multiple SharePoint Management Shell sessions on the same WFE.
Ran the following three database attaches in parallel:
PS C:\Users\mossaccount> Mount-SPContentDatabase -name MySites_Content01 -webapplication http://mysites.contoso.com -databaseserver sqlSvr\sql01


PS C:\Users\mossaccount> Mount-SPContentDatabase -name MySites_Content02 -webapplication http://mysites.contoso.com -databaseserver sqlSvr\sql01


PS C:\Users\mossaccount> Mount-SPContentDatabase -name MySites_Content03 -webapplication http://mysites.contoso.com -databaseserver sqlSvr\sql01

The  error I receive is:
PS C:\Users\mossaccount> Mount-SPContentDatabase -name MySites_Content03 -webapplication http://mysites.contoso.com -databaseserver sqlSvr\sql01
 Mount-SPContentDatabase : Failed to acquire the lock to object [SPWebApplication Name=mysites.contoso.com] after 120 retries.
At line:1 char:24
+ Mount-SPContentDatabase <<<<  -name MySites_Content03
-webapplication http://mysites.contoso.com -databaseserver
sqlSvr\sql01
    + CategoryInfo          : InvalidData:
(Microsoft.Share...ContentDatabase:    SPCmdletMountContentDatabase)
[Mount-SPContentDatabase], SPException
    + FullyQualifiedErrorId :
Microsoft.SharePoint.PowerShell.SPCmdletMountContentDatabase

 

After much review it was discovered that we were simply too fast launching the PS commands. The configuration object was locked from the first command.

How do you get past it?

You give it some time between launches of the PS commands. For example, wait until you see the upgrade.log appear from the first attach before you begin each subsequent one.​

June 16
File Level Antivirus exclusions for 2010

While working with a customer recently the subject of file level antivirus came up. There is an update to the article for 2007 that discusses those exclusions. Please take a moment to ensure that your environment is indeed excluding those directories. It's simple to check but very hard to diagnose a random behavior or deadlock that may be caused by the lack of proper exclusions.

The article can be found here:

952167 Certain folders may have to be excluded from antivirus scanning when you use a file-level antivirus program in SharePoint
http://support.microsoft.com/default.aspx?scid=kb;EN-US;952167

May 12
SharePoint 2010 Training available

The SharePoint 2010 ITPRO and Developer training are now available.

April 19
This blog is powered by 2010

My blog was upgraded to SharePoint 2010 this weekend. Now that we have RTM'ed and my responsibilities are a little more manageable I will start blogging again.​

September 03
MaxConcurrentAPI Stories
Deployment has an ASP.NET web part that is calling into a COM+ based application. Rather than use Kerberos Delegation the web part calls LogonUser(). This results in ~200-300 NTLM Auth/second. The company's infrastructure is based on x86 DC's with 14 domains. They had one outage after another which manifested as white screens in IE when accessing SharePoint. I captured a memory dump of W3WP.exe and found that all the active threads had been waiting for quite some time on RPCSS. Went back to the server captured a memory dump of the RPCSS process. It was waiting on LSASS. Captured a memory dump of the whole machine to look at LSASS, it was waiting on a response from two auth requests with several in the semaphore queued up waiting to be authenticated. Learning's from this experience. If you have 14 domains and x86 DC's make sure you have DC's or GC's (preferred if you are in Native mode or greater) close to the machines generating the authentication. Second, it's easier to view the netlogon.log file to find this problem. Third, now it's easier to enable the Netlogon performance counters to diagnose this problem. This happened before they were created. Fourth, if the DC's can be profiled to ensure they can handle the load increase MaxConcurrentAPI on the SharePoint boxes and the DC's servicing SharePoint so that the request doesn't bottleneck on the trust. Fifth, if you use LogonUser() understand the consequences and consider Kerberos instead.
 
Second story:
SharePoint farm is in an environment where the GC's are x64 with lots of ram. They also had 8 domains around the world. There are 35,000 (150,000 total) users hitting the farm on average due to the heavy collaborative nature of the farm we saw 3000-5000 NTLM Auth/second. The DC's were fine from a utilization perspective. However, we were seeing a bottleneck on SharePoint servers in the form of White Screens or spinning globes. Checked the Netlogon.log and found we were stalling on MaxConcurrentAPI. We bumped it slowly on the SharePoint servers and the problem still occurred but slower to get there. Moved the troubleshooting to the DC's and found that the trust was the bottleneck. Increased MaxConcurrentAPI on the DC's. The problem took longer to surface. Finally had enough data to see that the problem almost always surfaced on Wednesdays. Discovered that all the local DC's were being rebooted on Tuesday night. Secure Channels were being established with DC's over the WAN.Moral of the story, MaxConcurrentAPI modifications are not a cure all. A solid Domain architecture and DC placement are critical to success under high volumes.
 
Third story, why some don't like messing with MaxConcurrentAPI.
A colleague of mine that had little experience with Domains called me after bumping MaxConcurrentAPI to it's highest value across SharePoint Servers and DC's. He was seeing the DC's spike in utilization to the point where they were sending back and RPC Server too busy error. When I asked if he had first profiled the DC's to see if they could handle such a jump in load he said no. Remember when you bump MaxConcurrentAPI you are increasing load on the DC's by multiples. For example, if I have a default of 2 threads doing concurrent authentication and I bump it to 4 I have doubled the load from that server to my DC if the traffic is constant. In this customer's case it was caused by Virtualized x86 DC's with really poor allocations to RAM and bad disk planning. Therefore always test, test, test before increasing MaxConcurrentAPI. Having spent years in AD I assume people will do this but it's not always the case.
 
Now take those stories and multiply them by dozens of times. This is why I became such a Kerberos advocate because I got tired of working with plumbing created back in 1995. Kerberos is barely faster over long sessions as Spence Harbar and Bob Fox have proven through a great deal of testing. However, it's a life savor in high authentication environments with a distributed DC infrastructure containing several domains. The clients Authenticate before contacting SharePoint. In my next post I will address PAC validation, why I have had to go to extrodinary lengths to turn it on etc.
Updated information:
You can now raise MaxConcurrentAPI to 150 instead of 10 if necessary.  
August 26
Where my posts come from...

Sometimes when I make a post there are thoughts or experiences that don’t make it into the post. This comes from being highly randomized in my job and not dedicating the time to blogging that others do. This alone has made me call into question whether or not I should even bother with blogging.

 

Some background, I used to be a Senior Premier Field Engineer for SharePoint servicing some of the world’s largest deployments. Prior to that I was in our Critical Problem Resolution team for developer Internet products (IIS, ASP.net etc) and further back still was a Solution Integration Engineer (SIE). Most of my posts come from that experience as I now blog about SharePoint. I done lots of other things in Microsoft including Active Directory and Metadirectory. When I post something it’s because I have personally experienced a challenge with something and I don’t want anyone else to go through it again. Because of this view point and the customers I support there is a tendency on my part to see things in high volumes or various levels of complexity because of their multi-national/geographical distribution. In other words, I have a tendency to make generalizations in my posts that may be practices that only large deployments need be concerned.

 

My promise: I will cleanup and add context to some of my earlier blog posts or make clarifications. In addition, I will try to point out when a practice only makes sense for a large deployment.

May 22
Important SP2 Information
Please take a moment to review the information on SP2 posted by the product team.
May 19
Kerberos and SharePoint
Spence Harbar, SharePoint MCM and Bob Fox, SharePoint MVP, have some great information on the peformance and scalability of Kerberos vs NTLM. Here is a link:
 
Take a look at slide 17 in the Kerberos presentation.
1 - 10Next