-
Bug
-
Resolution: Obsolete
-
Low
-
2.7.2, 2.8
-
None
-
None
-
Severity 3 - Minor
-
When using file-based directory configuration, any backup (manual or scheduled) fails and produces the following stacktrace:
java.lang.ClassCastException: com.atlassian.crowd.dao.directory.ImmutableDirectory cannot be cast to com.atlassian.crowd.model.directory.DirectoryImpl #011at com.atlassian.crowd.migration.DirectoryMapper.exportXml(DirectoryMapper.java:51) #011at com.atlassian.crowd.migration.XmlMigrator.exportXml(XmlMigrator.java:36) #011at com.atlassian.crowd.migration.XmlMigrationManagerImpl.exportXml(XmlMigrationManagerImpl.java:106) #011at com.atlassian.crowd.manager.backup.DefaultBackupManager.backup(DefaultBackupManager.java:73) #011at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) #011at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) #011at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) #011at java.lang.reflect.Method.invoke(Method.java:601) #011at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) #011at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) #011at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) #011at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) #011at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) #011at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) #011at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) #011at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) #011at $Proxy48.backup(Unknown Source) #011at com.atlassian.crowd.manager.backup.BackupJob.executeInternal(BackupJob.java:30) #011at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113) #011at org.quartz.core.JobRunShell.run(JobRunShell.java:203) #011at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Workaround
Disable scheduled backups and abstain from doing manual backups when using the file-based directory configuration.