Hello,
we installed the Service Desk plugin to our Jira Software instance. After installing Service Desk we can not create any SD projects.
In the log files an exception can be found:
com.atlassian.cache.CacheException: java.lang.IllegalArgumentException:
at com.atlassian.cache.memory.DelegatingCachedReference.get(DelegatingCacacheLoader returned null for key 'SD_REQTYPE'chedReference.java:91)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.ValidRequestTypeProvider.getCache(ValidRequestTypeProvider.java:129)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.ValidRequestTypeProvider.getAllRequestTypes(ValidRequestTypeProvider.java:89)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeInternalManagerImpl.getAllRequestTypes(RequestTypeInternalManagerImpl.java:344)
at com.atlassian.servicedesk.internal.feature.customer.portal.PortalDeletionManagerImpl.lambda$deletePortal$1(PortalDeletionManagerImpl.java:40)
at io.atlassian.fugue.Either$RightProjection.map(Either.java:872)
at io.atlassian.fugue.Either.map(Either.java:217)
at com.atlassian.servicedesk.internal.feature.customer.portal.PortalDeletionManagerImpl.deletePortal(PortalDeletionManagerImpl.java:36)
at com.atlassian.servicedesk.internal.project.ServiceDeskDeletionManagerImpl.lambda$deleteServiceDeskByProject$4(ServiceDeskDeletionManagerImpl.java:105)
at io.atlassian.fugue.Either$AbstractProjection.forEach(Either.java:714)
at io.atlassian.fugue.Either.forEach(Either.java:280)
at com.atlassian.servicedesk.internal.project.ServiceDeskDeletionManagerImpl.deleteServiceDeskByProject(ServiceDeskDeletionManagerImpl.java:105)
at com.atlassian.servicedesk.internal.feature.servicedesk.InternalServiceDeskServiceImpl.deleteServiceDesk(InternalServiceDeskServiceImpl.java:210)
at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedService.createServiceDeskForEmptyProject(GettingStartedService.java:175)
at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.callGettingStartedServiceToCreateServiceDesk(ServiceDeskProjectConfigurator.java:61)
at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.lambda$configure$0(ServiceDeskProjectConfigurator.java:46)
at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:886)
at io.atlassian.fugue.Either.flatMap(Either.java:231)
at com.atlassian.pocketknife.step.EitherStep1.then(EitherStep1.java:18)
at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.configure(ServiceDeskProjectConfigurator.java:45)
at com.atlassian.servicedesk.internal.project.template.hook.ItilV2ServiceDeskAddProjectHook.configure(ItilV2ServiceDeskAddProjectHook.java:17)
at com.atlassian.jira.projecttemplates.service.ApplyProjectTemplateHandler.applyProjectTemplate(ApplyProjectTemplateHandler.java:65)
at com.atlassian.jira.projecttemplates.service.ApplyProjectTemplateHandler.onProjectCreated(ApplyProjectTemplateHandler.java:53)
at com.atlassian.jira.project.ProjectCreateRegistrarImpl.notifyAllHandlers(ProjectCreateRegistrarImpl.java:35)
at com.atlassian.jira.bc.project.DefaultProjectService.notifyHandlersOfProjectCreated(DefaultProjectService.java:392)
at com.atlassian.jira.bc.project.DefaultProjectService.createProjectInternal(DefaultProjectService.java:377)
at com.atlassian.jira.bc.project.DefaultProjectService.createProject(DefaultProjectService.java:347)
... 3 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy539.createProject(Unknown Source)
... 3 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
at com.sun.proxy.$Proxy539.createProject(Unknown Source)
at com.atlassian.jira.projecttemplates.service.ProjectTemplateServiceImpl.applyProjectTemplate(ProjectTemplateServiceImpl.java:173)
at com.atlassian.jira.projecttemplates.rest.ProjectTemplatesResource.createProjectFromFormRequest(ProjectTemplatesResource.java:170)
... 3 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
... 12 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
... 32 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:56)
... 13 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 53 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 16 filtered
at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:137)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:90)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121)
... 9 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
... 3 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 26 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 24 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: cacheLoader returned null for key 'SD_REQTYPE'
at com.atlassian.jira.cache.request.RequestCacheImpl.getNotNull(RequestCacheImpl.java:116)
at com.atlassian.jira.cache.request.RequestCacheImpl.get(RequestCacheImpl.java:42)
at com.atlassian.jira.avatar.AvatarManagerImpl.getDefaultAvatarId(AvatarManagerImpl.java:505)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl$RequestTypeMapper.lambda$apply$1(RequestTypeQStoreImpl.java:625)
at io.atlassian.fugue.Option$None.fold(Option.java:393)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl$RequestTypeMapper.apply(RequestTypeQStoreImpl.java:625)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl.lambda$getAllRequestTypesWithSortedGroups$3(RequestTypeQStoreImpl.java:138)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl.getAllRequestTypesWithSortedGroups(RequestTypeQStoreImpl.java:140)
at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.ValidRequestTypeProvider.lambda$new$0(ValidRequestTypeProvider.java:62)
at com.atlassian.cache.memory.MemoryCacheManager$1$1.load(MemoryCacheManager.java:125)
at com.atlassian.cache.memory.MemoryCacheManager$1$1.load(MemoryCacheManager.java:101)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)
at com.atlassian.cache.memory.DelegatingCachedReference.getUnderLock(DelegatingCachedReference.java:101)
at com.atlassian.cache.memory.DelegatingCachedReference.get(DelegatingCachedReference.java:86)
... 286 more
-Jira Software version: 7.12.1
-Jira Service Desk version: 3.15.1
-Jira Service Desk was installed for the first time in this Jira Software instance.
Best Regards
Marcel
I have seen this error before. In past cases, it can happen if you have done a trial version of Service Desk before version 3.0.0 in the past with this same Jira database. What happens is that even trialing a past version of Service Desk will leave some data structures that can only be updated properly by going first to a Jira 7.0.0 -> 7.1.x version upgrade first.
Can you tell me what version of Jira you upgraded from?
I see you mentioned this is a first time for Service Desk, but given the error, I suspect there was an older version installed at one time in the past.
I would recommend checking out this past thread: https://community.atlassian.com/t5/Jira-Service-Desk-questions/Jira-Service-Desk-Error-cacheLoader-returned-null-for-key-SD/qaq-p/765585
It explains that you can prevent this error by going to a Jira version where you can install a compatible Service Desk versions between 3.0.0 and 3.1.10. This is one way to get past this problem.
However I understand that many people that encounter this problem don't have any service desk data that they want in their database and don't want to revert an upgrade. In those cases, I would recommend instead checking out the comments on https://jira.atlassian.com/browse/JSDSERVER-4732
Other users have resorted to dropping all the Service Desk related tables from the database as a means to get past this problem. Technically this is not supported by Atlassian, and I would recommend that you create a database backup before trying this, but that said I do believe this could be a viable alternative.
Hello Andrew,
sorry for my late response on this topic.
You seem to be right. There was an installation of Jira Service Desk in the past.
Unfortunatly it is difficult to say which older Service Desk version was installed.
Because an rollback of our Jira installation is no option for us, we are trying the solution you mentioned in https://jira.atlassian.com/browse/JSDSERVER-4732 at the moment.
I let you know, when we are finished.
Regards
Marcel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.