Details
-
Bug
-
Resolution: Duplicate
-
Low
-
4.2.2, 4.2.4
-
None
Description
Steps to reproduce (I have only tried this on OnDemand):
- Create 2 users, 'fred1' and 'fred2'
- Hit https://instance/wiki/rest/prototype/1/search/user.json?query=fred until both users come back in the result.
- Delete user fred2.
- Hit https://instance/wiki/rest/prototype/1/search/user.json?query=fred a few times - observe an HTTP 500 response instead of the search result.
This breaks sharing, which relies on REST search calls, and persists across re-indexes and restarts.
This issue was encountered by an OnDemand customer. The only workaround I found was to modify/remove the lingering USERINFO entry associated with the deleted user in the content table, and then re-index.
Note that the exception that provokes the HTTP 500 is not logged out-of-the-box, due to https://ecosystem.atlassian.net/browse/REST-198. The problem is an NPE when building a PersonalInformationContentEntity:
java.lang.NullPointerException at com.atlassian.confluence.plugins.rest.entities.builders.PersonalInformationContentEntityBuilder.setThumbnailLink(PersonalInformationContentEntityBuilder.java:48) at com.atlassian.confluence.plugins.rest.entities.builders.PersonalInformationContentEntityBuilder.setUserProperties(PersonalInformationContentEntityBuilder.java:92) at com.atlassian.confluence.plugins.rest.entities.builders.PersonalInformationContentEntityBuilder.build(PersonalInformationContentEntityBuilder.java:85) at com.atlassian.confluence.plugins.rest.service.DefaultRestSearchService.toSearchResultEntity(DefaultRestSearchService.java:218) at com.atlassian.confluence.plugins.rest.service.DefaultRestSearchService.makeSearchResultsEntityList(DefaultRestSearchService.java:190) at com.atlassian.confluence.plugins.rest.service.DefaultRestSearchService.userSearch(DefaultRestSearchService.java:61) at com.atlassian.confluence.plugins.rest.resources.SearchService.doUserSearch(SearchService.java:187) at sun.reflect.GeneratedMethodAccessor332.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:206) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:92) at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61) at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38) at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:100) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.access$100(DispatchProviderHelper.java:30) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:202) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ...
Attachments
Issue Links
- duplicates
-
CONFSERVER-22553 Confluence share page feature tries to autocomplete username to LDAP users who no longer exist
- Closed
- is caused by
-
CONFSERVER-25470 Users deleted due to directory synchronisation leave stale data
- Closed