Dynamic distribution groups (DDGs) have been a beloved feature in Exchange Online for years. They allow you to create distribution groups based on customizable filters and conditions – simplifying membership management and expediting sending of emails to groups. However, with the current implementation of DDGs, some customers have been seeing slow delivery of emails or non-delivery of emails to users that they expected to be included in the recipient list. In extreme cases, our services have even encountered issues due to DDGs that have highly complex filters.
This led to modernization efforts starting in January 2021. We know how important it is to have an extremely reliable service for our customers. This feature update focuses on reducing mail delivery latency for DDGs, increasing service reliability, and enabling customers to determine the exact list of recipients.
This feature update is enabled for Preview customers and will be rolled out to all customers mid-April.
Implementation
Today, DDGs do not have a fixed recipient list; the recipient list is calculated dynamically each time a message is sent to a DDG. This can be a very slow process depending on the complexity of filters, leading to delayed mail delivery. To resolve this, we’re going to store the membership list for each DDG, and refresh it every 24 hours. The daily refresh will be an incremental refresh, applying the changes between the stored list and the refreshed list. When an email is sent to a DDG, or when an Exchange Transport Rule (ETR) is run that queries if the sender/recipient is a member of a DDG, our service will use this stored membership list.
Benefits
Caching this membership list provides many benefits:
Limitations
Since we will be storing the DDG’s membership list, some time is needed to do the initial population of members upon creation of a DDG, and when DDG filters are modified. The membership list for each DDG will now be periodically refreshed instead of calculated in real time, so it will no longer reflect which users meet the DDG criteria in real time.
It is important to note that:
Tools to help you
We’ve created some tools to help you manage the new DDG experience.
Forcing a membership refresh
If you want to refresh a DDG’s membership list before its next scheduled refresh, or if your DDG membership list isn't updated after a refresh as expected, you can force a membership refresh by using Set-DynamicDistributionGroup in the Exchange Online PowerShell:
Set-DynamicDistributionGroup -Identity <DDGIdentity> -ForceMembershipRefresh
Note that a manual refresh can be performed only after more than one hour has elapsed since the last refresh occurred.
Viewing a DDG’s membership list
You can use Get-DynamicDistributionGroup to view the members of a DDG. This will show you the list of members stored on the DDG object (based on the last refresh). This is the recipient list that will be used when a message is sent to the DDG.
Get-DynamicDistributionGroupMember -Identity <DDGIdentity>
Checking when a DDG was last refreshed
You can also use Get-DynamicDistributionGroup to view the last time a DDG was refreshed by looking at its CalculatedMembershipUpdateTime property.
(Get-DynamicDistributionGroup -Identity <DDGIdentity>).CalculatedMembershipUpdateTime
Instant DDG Membership
Customers tell us they like the above improvements, but many still want instant DDG membership.
We’re investigating options for instant DDG membership when a new user is created or an existing user’s property changes. This type of complexity increases the load on the service, so we're exploring this with caution and care. We’ll let you know the results of our investigation when we have them.
Exchange Online Team
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.