-
Bug
-
Resolution: Fixed
-
Medium
-
5.1
-
None
Symptoms
- Directory sync fails with errors such as this:
2013-03-28 14:44:10,444 ERROR [scheduler_Worker-7] [atlassian.crowd.directory.DbCachingDirectoryPoller] pollChanges Error occurred while refreshing the cache for directory [ 851969 ]. java.lang.IllegalArgumentException: can't parse argument number 2z
- With Detailed SQL Logging turned on, you realize that there are groups synchronized with curly braces enclosing the string highlighted by the error:
2013-03-28 14:44:10,430 TRACE [scheduler_Worker-7] [sf.hibernate.type.StringType] nullSafeGet returning 'userGroup {2z}' as column: group_name0_ 2013-03-28 14:44:10,430 TRACE [scheduler_Worker-7] [sf.hibernate.type.StringType] nullSafeGet returning 'usergroup {2z}' as column: lower_gr3_0_
2013-03-28 14:44:10,434 TRACE [scheduler_Worker-7] [sf.hibernate.type.StringType] nullSafeSet binding 'usergroup {2z}' to parameter: 1
Cause
Confluence parses the curly braces as a numerical argument.
Observation
- If the groupname instead, is this: usergroup
{2}
, the error will not be thrown
- Only happens in Confluence 5.1.
- Confluence 5.0 and below are not affected
Workaround
Change the Group/User Object Filter to something like this (to filter out groups/users containing the curly braces):
(&(objectCategory=Group)(!(cn=*{*}*)))
(&(objectCategory=Person)(!(cn=*{*}*)))
The example above applies for Active Directory with the username attribute and groupname attribute set to cn
- is caused by
-
CWD-3241 Membership synchronisation fails for groups that contain { and }
- Closed
- is duplicated by
-
CONFCLOUD-54244 Groups with special characters cause Confluence to stop syncing with Crowd
- Closed
- relates to
-
CONFSERVER-29363 Incremental AD Synchronization Ignores User Deletion
- Closed
- was cloned as
-
JRASERVER-33170 Upgrade to Embedded Crowd 2.6.2 or later - Directory Sync Fails if there are Users or Groups with Curly Braces in their User/Groupname (can't parse argument number error)
- Closed