This article describes issue with “Permissions” where the
mailboxes remain in “Syncing” status.
Applies To
Machpanel (Exchange mailboxes)
Details
Please note that the mailboxes
being operated on “SHOULD NOT” have any Pending Jobs. If there are any
pending jobs related to the mailboxes being worked on, the “Syncing”
status will not change.
When Permissions on mailbox(es) are applied
and you see permissions are not getting synced, i.e. mailbox on which permission are applied is with [syncing] status for quite a while as shown above.
Solution
- Check Exchange Group Actions
- All jobs related to mailbox should be completed or canceled for sync to work.
- Also Provisioning service must be running.
Question:
What will be effect of problematic mailboxes on
- Other mailboxes of the same org
Answer: will get processed without any issue
- Mailboxes in other organizations
Answer: will get processed without any issue
i.e. only particular mailbox who has pending job(s) gets stuck.
Lastly, if its a
case of MachPanel which has been recently updated to latest build, then
there is a table that needs to be updated and all records for all
mailboxes need to be synced before proper status for all mailboxes is
visible in panel interface. Following query can be executed to check
status of overall sync.
Select * from HB_tblExchangeMailboxSync
where sendas=0 or SendOnBehalf=0 or FullAccess=0 or CalenderPermissions=0If issue is still persisitent:
If issue is still persisitent / permissions sync not working, take following steps:
- Enable Advanced logging.
- Enable logging for thread: GroupActionWorkMailBoxPermissions. If there are multiple control servers, disable thread on all control servers except the one on which problem is being reviewed.
- Review log files starting with:
◦ MBPermissionsSync
◦ SyncMailboxPermissions
- After problem is solved, enable GroupActionWorkMailBoxPermissions thread on all servers, disable logging for Thread.
- Disable Advanced logging.
To find duplicates following queries can be used:
================================================
Select UserLDAPUrl from HB_tblExchangeMailboxes
group by userldapurl having count(Userldapurl) > 1
===============================================
Select LDAPGroup from HB_tblExchangeDistributionLists
group by LDAPGroup having count(LDAPGroup) > 1
==============================================
Select ContactLDAPUrl from HB_tblExchangeMailContacts where HostedOrgId = (Select HostedOrgId from HB_tblExchangeOrganizations Where HostedOrgId=HB_tblExchangeMailContacts.HostedOrgId)
group by ContactLDAPUrl having count(ContactLDAPUrl) > 1
==============================================
If a duplicate is found, find all records against the LDAP in that table and keep 1 record against the Org.