Symptom
1. In Kibana lots of errors like "Session xxxx not persisted, timeout during persisting" can be seen.
2. Following blocked threads can be seen in thread dumps
"AsyncSessionPersister-master-105" prio=5 tid=0x105 nid=0x69 WAITING owned by hybrisHTTP59 Id=24869 - stats: cpu=565311 blk=-1 wait=-1 java.lang.Thread.State: WAITING at java.base@17.0.8/jdk.internal.misc.Unsafe.park(Native Method) at java.base@17.0.8/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211) at java.base@17.0.8/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715) at java.base@17.0.8/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:938) at java.base@17.0.8/java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153) at java.base@17.0.8/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322) at java.base@17.0.8/sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:288) at java.base@17.0.8/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1308) at com.microsoft.sqlserver.jdbc.TDSChannel.write(IOBuffer.java:2121) - locked sun.security.ssl.SSLSocketImpl$AppOutputStream@19d48337 at com.microsoft.sqlserver.jdbc.TDSWriter.flush(IOBuffer.java:4476) at com.microsoft.sqlserver.jdbc.TDSWriter.writePacket(IOBuffer.java:4378) at com.microsoft.sqlserver.jdbc.TDSWriter.endMessage(IOBuffer.java:3413) at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:7985) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:618) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:540) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7620) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3916) - locked java.lang.Object@4010a1a1 at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:268) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:242) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:459) at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor.lambda$executeQuery$3(PreparedStatementWithJDBCInterceptor.java:68) at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor$$Lambda$302/0x000000080059b020.get(Unknown Source) at de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.passThrough(SQLRecoverableExceptionHandler.java:93) at de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.get(SQLRecoverableExceptionHandler.java:51) at de.hybris.platform.jdbcwrapper.interceptor.JDBCInterceptor.get(JDBCInterceptor.java:61) at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor.executeQuery(PreparedStatementWithJDBCInterceptor.java:68) at de.hybris.platform.jdbcwrapper.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:190) at de.hybris.platform.jalo.flexiblesearch.internal.FlexibleSearchExecutor.execute(FlexibleSearchExecutor.java:238) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearch.executeSearch(FlexibleSearch.java:2193) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearch.executeSearch(FlexibleSearch.java:2213) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearchCacheUnit.compute(FlexibleSearchCacheUnit.java:71) 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.jalo.flexiblesearch.FlexibleSearchCacheUnit.myGet(FlexibleSearchCacheUnit.java:158) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearch.executeSearchUsingFlexibleSearchDialect(FlexibleSearch.java:1741) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearch.search(FlexibleSearch.java:1468) at de.hybris.platform.jalo.flexiblesearch.FlexibleSearch.search(FlexibleSearch.java:1459) at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService$3.execute(DefaultFlexibleSearchService.java:533) at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService$3.execute(DefaultFlexibleSearchService.java:511) at de.hybris.platform.servicelayer.session.impl.DefaultSessionService.executeInLocalView(DefaultSessionService.java:82) at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.getJaloResult(DefaultFlexibleSearchService.java:510) at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:180) at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:324) at de.hybris.platform.servicelayer.web.session.StoredHttpSessionDao.findByIds(StoredHttpSessionDao.java:65) at de.hybris.platform.servicelayer.web.session.persister.AsyncSessionPersisterRunnable.provideStoredHttpSessionModelMap(AsyncSessionPersisterRunnable.java:231) at de.hybris.platform.servicelayer.web.session.persister.AsyncSessionPersisterRunnable.persistSessions(AsyncSessionPersisterRunnable.java:206) at de.hybris.platform.servicelayer.web.session.persister.AsyncSessionPersisterRunnable.persistsSessionsFromQueue(AsyncSessionPersisterRunnable.java:130) at de.hybris.platform.servicelayer.web.session.persister.AsyncSessionPersisterRunnable.run(AsyncSessionPersisterRunnable.java:80) at de.hybris.platform.core.AbstractTenant$5.run(AbstractTenant.java:2549) at de.hybris.platform.core.TenantAwareThreadFactory$1.internalRun(TenantAwareThreadFactory.java:163) at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:124) ...... |
"hybrisHTTP508" prio=5 tid=0x111439 nid=0x1b34f TIMED_WAITING - stats: cpu=2336 blk=-1 wait=-1 java.lang.Thread.State: TIMED_WAITING at java.base@17.0.8/jdk.internal.misc.Unsafe.park(Native Method) at java.base@17.0.8/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.base@17.0.8/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.base@17.0.8/java.util.concurrent.ArrayBlockingQueue.offer(ArrayBlockingQueue.java:396) at de.hybris.platform.servicelayer.web.session.persister.AsyncSessionPersister.persist(AsyncSessionPersister.java:197) at de.hybris.platform.servicelayer.web.session.DefaultHybrisSpringSessionRepositoryFactory$FilteringSessionPersister.persist(DefaultHybrisSpringSessionRepositoryFactory.java:109) at de.hybris.platform.servicelayer.web.session.CachedPersistedSessionRepository.saveCachedPersistedSession(CachedPersistedSessionRepository.java:128) at de.hybris.platform.servicelayer.web.session.CachedPersistedSessionRepository.save(CachedPersistedSessionRepository.java:65) at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.commitSession(SessionRepositoryFilter.java:249) at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.access$100(SessionRepositoryFilter.java:221) at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper$SessionCommittingRequestDispatcher.include(SessionRepositoryFilter.java:452) at org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequestDispatcher.include(HeaderWriterFilter.java:176) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:163) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1406) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1150) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:489) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:583) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ...... |
3. Storefront performance is getting slow.
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
All Sap Commerce Cloud versions
Product
SAP Commerce Cloud all versions
Keywords
session,AsyncSessionPersister , KBA , CEC-SCC-PLA-PL , Platform , 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.