Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

Symptoms

Consider the following scenarios when a Dynamic Distribution Group has a Lightweight Directory Access Protocol (LDAP) filter that contains more than 32,000 characters in a Microsoft Exchange Server 2010 environment:

Scenario 1

Assume that you send a message to the Dynamic Distribution Group directly. In this situation, the EdgeTransport.exe process crashes on the Exchange Server 2010 Hub Transport server. However, you do not receive a non-delivery report (NDR) message. Additionally, the following events are logged in the Application log:

Log Name: Application
Source: MSExchangeTransport
Date: Date
Event ID: 10003
Task Category: PoisonMessage
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
The transport process failed during message processing with the following call stack: Microsoft.Exchange.Data.Directory.ADFilterException: The filter string size exceeds maximum allowed size of 32k characters.
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientCache.ExpandGroup(IADDistributionList group)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.ExpandMembers(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.ProcessLocally(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RecipientItem.Process(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.Resolver.ResolveAll()
at Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage2ResolveEngine(TransportMailItem transportMailItem, TaskContext taskContext)
at Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
at Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)

Log Name: Application
Source: MSExchange Common
Date: Date
Event ID: 4999
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
Watson report about to be sent for process id: Process ID, with parameters: E12, Build Type, Version Number, edgetransport, M.E.Data.Directory, M.E.D.D.R.ADRecipientCache.ExpandGroup, M.E.D.Directory.ADFilterException, XXXX, Version Number.
ErrorReportingEnabled: False


Scenario 2

Assume that you send a message to another distribution group that uses the Dynamic Distribution Group as a delivery restriction. In this situation, the EdgeTransport.exe process crashes on the Exchange Server 2010 Hub Transport server. However, you do not receive a non-delivery report (NDR) message. Additionally, the following events are logged in the Application log:

Log Name: Application
Source: MSExchangeTransport
Date: Date
Event ID: 10003
Task Category: PoisonMessage
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
The transport process failed during message processing with the following call stack: Microsoft.Exchange.Data.Directory.ADFilterException: The filter string size exceeds maximum allowed size of 32k characters.
at Microsoft.Exchange.Data.Directory.LdapFilterBuilder.LdapFilterFromQueryFilter(QueryFilter queryFilter, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, CreateObjectDelegate objectCtor, CreateObjectsDelegate objectArrayCtor, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, CreateObjectDelegate objectCtor, CreateObjectsDelegate objectArrayCtor, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADDynamicGroupPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, String ldapFilter, Int32 pageSize, CustomExceptionHandler customExceptionHandler, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.Recipient.ADDynamicGroup.Expand(Int32 pageSize)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.TryIsStrictMemberOfWithLimit(ADObjectId recipientId, ADRecipient rootGroup, Boolean directOnly, ADRecipientSession session, HashSet`1 visitedGroups, Int32& adQueryCount, Int32 adQueryLimit, Boolean& isMember)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.TryIsMemberOfWithLimit(ADObjectId recipientId, ADObjectId groupId, Boolean directOnly, ADRecipientSession session, Int32& adQueryLimit, Boolean& isMember)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.TryIsSenderMemberOfWithLimit(IEnumerable`1 groupIdList, Boolean& isSenderMemberOf)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.CheckPermissionRestriction()
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.Check()
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.CheckDeliveryRestriction(ADObjectId senderId, Boolean senderIsAuthenticated, ICollection`1 rejectMessagesFrom, ICollection`1 rejectMessagesFromDLMembers, ICollection`1 acceptMessagesFrom, ICollection`1 acceptMessagesFromDLMembers, ICollection`1 bypassModerationFrom, ICollection`1 bypassModerationFromDLMembers, ICollection`1 moderators, ICollection`1 managedBy, Boolean requiresAllSendersAreAuthenticated, Boolean moderationEnabled, RecipientType recipientType, ADRecipientSession session, ISimpleCache`2 senderMembershipCache)
at Microsoft.Exchange.Transport.Categorizer.DeliveryRestriction.CheckRestriction(ISimpleCache`2 memberOfGroupCache, Int64& maxRecipientMessageSize)
at Microsoft.Exchange.Transport.Categorizer.RestrictedItem.CheckDeliveryRestrictions(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.CheckDeliveryRestrictions(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RestrictedItem.PreProcess(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RecipientItem.Process(Expansion expansion)
at Micosoft.Exchange.Transport.Categorizer.Resolver.ResolveAll()
at Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage2ResolveEngine(TransportMailItem transportMailItem, TaskContext taskContext)
at Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
at Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)


Log Name: Application
Source: MSExchange Common
Date: Date
Event ID: 4999
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
Watson report about to be sent for process id: Process ID, with parameters: E12, Build Type, Version Number, edgetransport, M.E.Data.Directory, M.E.D.D.LdapFilterBuilder.LdapFilterFromQueryFilter, M.E.D.Directory.ADFilterException, XXXX, Version Number.
ErrorReportingEnabled: False

Cause

This issue occurs because the string size of an LDAP filter has a limit of 32KB characters. When the filter exceeds this limit, an ADFilterException exception occurs.

Resolution

To resolve this issue, install the following update rollup:

2661854 Description of Update Rollup 2 for Exchange Server 2010 Service Pack 2

Note After you apply the update rollup, the maximum string size of the LDAP filter is extended to 128KB characters.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For more information about how to create a Dynamic Distribution Group in an Exchange organization, visit the following Microsoft website:

How to create a Dynamic Distribution Group in an Exchange organizationFor more information about how to configure message delivery restrictions, visit the following Microsoft website:

How to configure message delivery restrictionsFor more information about the msExchDynamicDLFilter attribute, visit the following Microsoft website:

General information about the msExchDynamicDLFilter attributes

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×