-
Suggestion
-
Resolution: Fixed
-
None
Problem
During Azure AD synchronization, some returned messages regarding group removals might not be parsed correctly, resulting in the synchronization failing with an exception like:
2017-12-03 13:51:02,527 Caesium-2-3 ERROR [atlassian.crowd.directory.DbCachingDirectoryPoller] Error occurred while refreshing the cache for directory [ 131074 ]. com.atlassian.crowd.exception.OperationFailedException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: name argument cannot be null or blank at com.atlassian.crowd.directory.cache.DeltaQueryCacheRefresher.synchroniseAllGroups(DeltaQueryCacheRefresher.java:328) at com.atlassian.crowd.directory.cache.DeltaQueryCacheRefresher.synchroniseAll(DeltaQueryCacheRefresher.java:91) at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:968) at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:71) ... Caused by: java.lang.IllegalArgumentException: name argument cannot be null or blank at org.apache.commons.lang3.Validate.isTrue(Validate.java:158) at com.atlassian.crowd.model.group.GroupTemplate.<init>(GroupTemplate.java:35) at com.atlassian.crowd.model.group.GroupTemplate.<init>(GroupTemplate.java:56) at com.atlassian.crowd.directory.rest.mapper.AzureAdRestEntityMapper.mapDeltaQueryGroup(AzureAdRestEntityMapper.java:216) at com.atlassian.crowd.directory.rest.mapper.AzureAdRestEntityMapper.lambda$mapDeltaQueryGroups$4(AzureAdRestEntityMapper.java:147) at java.util.ArrayList.forEach(ArrayList.java:1249)
Suspected cause
- Azure AD is returning soft-deleted Groups where the JSON group object is missing the displayName field
- Azure AD only purges soft-deleted Group Information after 30 days
Workaround
- In some cases disabling incremental synchronization, or recreating the affected directory in Crowd might alleviate this.
- Permanently purge the soft-deleted group information from Azure Active Directory prior to the 30 days by following the workaround described in Crowd Synchronisation with Azure AD fails with "java.lang.IllegalArgumentException: name argument cannot be null or blank" KB article
[CWD-4998] Azure AD synchronisation can fail with IllegalArgumentException: name argument cannot be null or blank
Remote Link | New: This issue links to "Page (Confluence)" [ 563229 ] |
Workflow | Original: JAC Suggestion Workflow [ 3388577 ] | New: JAC Suggestion Workflow 3 [ 3630659 ] |
Status | Original: RESOLVED [ 5 ] | New: Closed [ 6 ] |
Workflow | Original: Simplified Crowd Development Workflow v2 [ 2659734 ] | New: JAC Suggestion Workflow [ 3388577 ] |
Issue Type | Original: Improvement [ 4 ] | New: Suggestion [ 10000 ] |
Status | Original: Closed [ 6 ] | New: Resolved [ 5 ] |
Epic Link | Original: CWD-4701 [ 598559 ] |
Component/s | New: Directory - Azure Active Directory [ 58192 ] |
Symptom Severity | Original: Major [ 14431 ] | New: Severity 2 - Major [ 15831 ] |
Workflow | Original: Simplified Crowd Development Workflow v2 - restricted [ 2472707 ] | New: Simplified Crowd Development Workflow v2 [ 2659734 ] |
Issue Type | Original: Bug [ 1 ] | New: Improvement [ 4 ] |
Fix Version/s | New: 3.2.0 [ 76695 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Verified [ 10005 ] | New: Closed [ 6 ] |