Audience Compilation Recursion Error

I just found out today that audience compiling can be quite fragile. We ran into a situation where the audience compiling job in SharePoint Portal Server crashed, and many of our web parts and listings that were targeted to audiences failed to appear.  When we restarted the audience compiling job, it appeared to hang on 1 specific audience.  After a bit of troubleshooting we found the problem:

Audience rule:
User is a member of GroupA

GroupA Active Directory Membership:
GroupB
GroupC

GroupB Active Directory Membership:
GroupA

GroupC Active Directory Membership:
GroupA

This should not be a common occurrence in Active Directory, but due to shifting permissions or a simple mistake, it is easy to create this recursion.  Most times this will not cause any problems for the users, but in the case of the SharePoint audience compilation engine, it hangs in the endless loop as it tries to enumerate the members of each group.

kick it on SharePointKicks.com

Leave a Reply