Symptom
When you login to the backoffice. It will keep loading then get 502 Error. The login is failed.
When you check the thread dump file collected in backoffice. You could see below long running thread and hold the lock which BLOCK many other threads.
"hybrisHTTP28" #1596 daemon prio=5 os_prio=0 cpu=504123.12ms elapsed=12998.46s allocated=285G defined_classes=8 tid=0x000079547c5d0710 nid=0x84b runnable [0x0000795212ae9000] java.lang.Thread.State: RUNNABLE at net.sf.ehcache.store.chm.SelectableConcurrentHashMap.getRandomValues(SelectableConcurrentHashMap.java:176) at net.sf.ehcache.store.MemoryStore.sampleElements(MemoryStore.java:653) at net.sf.ehcache.store.MemoryStore.findEvictionCandidate(MemoryStore.java:638) at net.sf.ehcache.store.MemoryStore.removeElementChosenByEvictionPolicy(MemoryStore.java:610) at net.sf.ehcache.store.MemoryStore.checkCapacity(MemoryStore.java:593) at net.sf.ehcache.store.MemoryStore.putIfAbsent(MemoryStore.java:879) at net.sf.ehcache.Cache.putIfAbsent(Cache.java:3744) at net.sf.ehcache.Cache.putIfAbsent(Cache.java:3717) at de.hybris.platform.regioncache.region.impl.EHCacheRegion.getWithLoader(EHCacheRegion.java:316) at de.hybris.platform.regioncache.DefaultCacheController.getWithLoader(DefaultCacheController.java:228) at de.hybris.platform.cache.impl.RegionCacheAdapter.getOrAddUnit(RegionCacheAdapter.java:213) at de.hybris.platform.tx.Transaction$GlobalCacheAdapter.getOrAddUnit(Transaction.java:2563) at de.hybris.platform.cache.AbstractCacheUnit.hintValue(AbstractCacheUnit.java:265) at de.hybris.platform.persistence.GenericBMPBean$GenericItemEntityStateCacheUnit.hintEntityState(GenericBMPBean.java:2036) at de.hybris.platform.persistence.GenericBMPBean.handleResultRow(GenericBMPBean.java:519) at de.hybris.platform.persistence.GenericBMPBean.handleResult(GenericBMPBean.java:496) at de.hybris.platform.persistence.GenericBMPBean$FindByPKListFinderResult.compute(GenericBMPBean.java:1021) at de.hybris.platform.cache.AbstractCacheUnit.privateGetNoLock(AbstractCacheUnit.java:297) at de.hybris.platform.cache.AbstractCacheUnit.privateGet(AbstractCacheUnit.java:270) at de.hybris.platform.cache.AbstractCacheUnit.get(AbstractCacheUnit.java:172) at de.hybris.platform.persistence.GenericBMPBean$FindByPKListFinderResult.getFinderResult(GenericBMPBean.java:960) at de.hybris.platform.persistence.GenericBMPBean.ejbFindByPKList(GenericBMPBean.java:1113) at jdk.internal.reflect.GeneratedMethodAccessor645.invoke(Unknown Source) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.13/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@17.0.13/Method.java:569) at de.hybris.platform.util.Utilities.callMethod(Utilities.java:1023) at de.hybris.platform.util.Utilities.callMethod(Utilities.java:1013) at de.hybris.platform.persistence.framework.HomeInvocationHandler.invokeMethod(HomeInvocationHandler.java:105) at de.hybris.platform.persistence.framework.HomeInvocationHandler.invoke(HomeInvocationHandler.java:51) at jdk.proxy2.$Proxy216.findByPKList(jdk.proxy2/Unknown Source) at de.hybris.platform.persistence.SystemEJB.findRemoteObjectsByPK(SystemEJB.java:169) at de.hybris.platform.core.WrapperFactory.fillFromEJB(WrapperFactory.java:978) at de.hybris.platform.core.WrapperFactory.fillFromPersistenceLayer(WrapperFactory.java:957) at de.hybris.platform.core.WrapperFactory.lambda$getItemImplForPKs$2(WrapperFactory.java:946) at de.hybris.platform.core.WrapperFactory$$Lambda$1167/0x0000000801686db0.accept(Unknown Source) at java.util.HashMap.forEach(java.base@17.0.13/HashMap.java:1421) at de.hybris.platform.core.WrapperFactory.getItemImplForPKs(WrapperFactory.java:946) at de.hybris.platform.core.WrapperFactory.getCachedItems(WrapperFactory.java:337) at de.hybris.platform.core.LazyLoadItemList.loadPage(LazyLoadItemList.java:220) at de.hybris.platform.servicelayer.search.impl.LazyLoadModelList.loadPage(LazyLoadModelList.java:98) at de.hybris.platform.core.LazyLoadItemList.switchPage(LazyLoadItemList.java:209) at de.hybris.platform.core.LazyLoadItemList.switchBufferedPageNoLock(LazyLoadItemList.java:457) at de.hybris.platform.core.LazyLoadItemList.switchBufferedPageSynchronized(LazyLoadItemList.java:449) - locked <0x0000000754eb07f0> (a de.hybris.platform.servicelayer.search.impl.LazyLoadModelList) at de.hybris.platform.core.LazyLoadItemList.switchBufferedPage(LazyLoadItemList.java:444) at de.hybris.platform.core.LazyLoadItemList.getOrSwitchBufferedPage(LazyLoadItemList.java:435) at de.hybris.platform.core.LazyLoadItemList.getOrSwitchBufferedPage(LazyLoadItemList.java:415) at de.hybris.platform.core.LazyLoadItemList.getBuffered(LazyLoadItemList.java:101) at de.hybris.platform.core.LazyLoadItemList.get(LazyLoadItemList.java:88) at de.hybris.platform.servicelayer.search.impl.LazyLoadModelList.get(LazyLoadModelList.java:117) at java.util.AbstractList$Itr.next(java.base@17.0.13/AbstractList.java:371) at de.hybris.platform.core.internal.BaseLazyLoadItemList$1.next(BaseLazyLoadItemList.java:169) at java.lang.Iterable.forEach(java.base@17.0.13/Iterable.java:74) at java.util.Collections$UnmodifiableCollection.forEach(java.base@17.0.13/Collections.java:1092) at com.hybris.backoffice.widgets.processes.ProcessesController.updateProcesses(ProcessesController.java:288) at com.hybris.backoffice.widgets.processes.ProcessesController.updateProcessForCronJob(ProcessesController.java:258) at com.hybris.backoffice.widgets.processes.ProcessesController.processStarted(ProcessesController.java:530) at jdk.internal.reflect.GeneratedMethodAccessor910.invoke(Unknown Source) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.13/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@17.0.13/Method.java:569) at com.hybris.cockpitng.util.WidgetControllers.lambda$bindGlobalEventListenerIfPresent$1(WidgetControllers.java:263) at com.hybris.cockpitng.util.WidgetControllers$$Lambda$2720/0x00000008026e0470.onEvent(Unknown Source) at com.hybris.cockpitng.util.CockpitEventUtils.dispatchGlobalEvents(CockpitEventUtils.java:100) - locked <0x0000000413208758> (a java.util.concurrent.ConcurrentHashMap) at com.hybris.cockpitng.events.impl.DefaultCockpitEventQueue.publishEvent(DefaultCockpitEventQueue.java:79) - locked <0x000000038e88e770> (a com.hybris.cockpitng.events.impl.DefaultCockpitEventQueue) at com.hybris.cockpitng.admin.CockpitMainWindowComposer.onMainWindowRendered(CockpitMainWindowComposer.java:242) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.13/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.13/NativeMethodAccessorImpl.java:77) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.13/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@17.0.13/Method.java:569) at org.zkoss.zk.ui.event.GenericEventListener.onEvent(GenericEventListener.java:93) at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3186) at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3156) at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3098) at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138) at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1884) at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1656) at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1323) at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:571) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:451) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:459) at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:218) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:190) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at com.hybris.backoffice.mobile.filter.BackofficeMobileFilter.doFilter(BackofficeMobileFilter.java:56) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at de.hybris.platform.servicelayer.web.WebAppMediaFilter.doFilter(WebAppMediaFilter.java:161) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:338) at com.hybris.backoffice.filter.responseheaders.BackofficeLoginErrorFilter.doFilter(BackofficeLoginErrorFilter.java:33) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at com.hybris.backoffice.security.BackofficeDynamicCatalogVersionActivationFilter.doFilter(BackofficeDynamicCatalogVersionActivationFilter.java:81) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.DataSourceSwitchingFilter.doFilter(DataSourceSwitchingFilter.java:59) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.session.stale.impl.DefaultStaleSessionCheckingFilterChain.filterWithStaleSessionChecking(DefaultStaleSessionCheckingFilterChain.java:92) at de.hybris.platform.servicelayer.web.session.stale.impl.DefaultStaleSessionCheckingFilterChain.doFilter(DefaultStaleSessionCheckingFilterChain.java:58) at de.hybris.platform.servicelayer.web.SessionFilter.doFilterInternal(SessionFilter.java:122) at de.hybris.platform.servicelayer.web.SessionFilter.doFilter(SessionFilter.java:84) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.session.HybrisSpringSessionFilter.doFilter(HybrisSpringSessionFilter.java:67) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at com.hybris.cockpitng.modules.spring.filter.ExternalModuleContextClassLoaderFilter.doFilter(ExternalModuleContextClassLoaderFilter.java:37) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.RedirectWhenSystemIsNotInitializedFilter.doFilter(RedirectWhenSystemIsNotInitializedFilter.java:94) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.TenantActivationFilter.doFilter(TenantActivationFilter.java:76) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.Log4JFilter.doFilter(Log4JFilter.java:37) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at com.hybris.backoffice.filter.responseheaders.BackofficeResponseHeadersFilter.doFilter(BackofficeResponseHeadersFilter.java:31) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain$InternalFilterChain.doFilter(AbstractPlatformFilterChain.java:308) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain.processStandardFilterChain(AbstractPlatformFilterChain.java:216) at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain.doFilterInternal(AbstractPlatformFilterChain.java:193) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at de.hybris.platform.servicelayer.web.XSSFilter.processPatternsAndDoFilter(XSSFilter.java:351) at de.hybris.platform.servicelayer.web.XSSFilter.doFilter(XSSFilter.java:299) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) at de.hybris.tomcat.StoreJvmRouteAsContextParameterValve.invoke(StoreJvmRouteAsContextParameterValve.java:44) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.lang.Thread.run(java.base@17.0.13/Thread.java:840)
Locked ownable synchronizers: - <0x0000000392507848> (a org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker) - <0x00000004135c81a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
|
In Dynatrace, you could see the slow request like below. The rows return of table cvsynccronjobhistories is large.

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Read more...
Environment
SAP Commerce & SAP Commerce Cloud.
Product
SAP Commerce Cloud 2005 ; SAP Commerce Cloud 2011 ; SAP Commerce Cloud 2105 ; SAP Commerce Cloud 2205 ; SAP Commerce Cloud 2211 ; SAP Commerce all versions
Keywords
backoffice, performance, login , KBA , CEC-SCC-CDM-BO-APP , Applications , Problem
About this page
This is a preview of a SAP Knowledge Base Article. Click
more to access the full version on SAP for Me (Login
required).
Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.