Unable to Access User Directories Screen After Deletion of An User Directory
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
After the deletion of an user directory, it is no longer possible to access the User Directories screen.
The following appears in the atlassian-confluence.log
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2013-05-14 10:48:48,901 ERROR [http-8090-26] [atlassian.plugin.servlet.ServletModuleContainerServlet] service Request processing failed; nested exception is com.atlassian.crowd.exception.runtime.OperationFailedException
-- url: /plugins/servlet/embedded-crowd/directories/list | userName: pcanham | referer: https://docs.cambridge.org/admin/console.action
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.atlassian.crowd.exception.runtime.OperationFailedException
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.atlassian.confluence.web.filter.DebugFilter.doFilter(DebugFilter.java:44)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
...
Caused by: com.atlassian.crowd.exception.runtime.OperationFailedException
at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.getDirectorySynchronisationInformation(CrowdDirectoryServiceImpl.java:241)
at sun.reflect.GeneratedMethodAccessor4196.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
...
Caused by: com.atlassian.crowd.exception.DirectoryNotFoundException: Directory <1441793> does not exist
at com.atlassian.crowd.embedded.hibernate2.HibernateDirectoryDao.findById(HibernateDirectoryDao.java:37)
at com.atlassian.crowd.embedded.hibernate2.HibernateDirectoryDao.findById(HibernateDirectoryDao.java:25)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.findDirectoryById(DirectoryManagerGeneric.java:148)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.getDirectoryImplementation(DirectoryManagerGeneric.java:273)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.getDirectorySynchronisationInformation(DirectoryManagerGeneric.java:261)
at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.getDirectorySynchronisationInformation(CrowdDirectoryServiceImpl.java:233)
... 229 more
Cause
When deleting a directory, the information of the deleted directory may still remain in the cache. This issue is being tracked here: CONFSERVER-33693 - User directory sometimes remains cached after removal from database.
Workaround
The solution to this problem is to flush in-memory caches:
Click on the cog icon and select Confluence Admin.
Go to Cache Statistics under the heading ADMINISTRATION in the left-hand side menu.
Click on Flush all to clear the in-memory cache stores in Confluence.
Alternatively, restarting Confluence will also resolve this issue since the in-memory cache will be cleared as a result.
Was this helpful?