[MGNLSCH-60] Unclosed sessions on job failures Created: 25/Aug/15  Updated: 15/Apr/16  Resolved: 26/Aug/15

Status: Closed
Project: Scheduler
Component/s: None
Affects Version/s: 2.1.2
Fix Version/s: 2.2.2

Type: Bug Priority: Critical
Reporter: Jan Haderka Assignee: Jaroslav Simak
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 10m
Original Estimate: Not Specified

Issue Links:
relation
is related to MAGNOLIA-6363 Unclosed sessions on doInSystemContex... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Sprint: Sprint 7 (Kromeriz)
Story Points: 5

 Description   

When job fails during the execution, sessions are not closed properly resulting in errors in log files like:

2015-08-25 09:31:35,055 WARN  org.apache.jackrabbit.core.SessionImpl            : Unclosed session detected. The session was opened here: 
java.lang.Exception: Stack Trace
	at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:222)
	at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:239)
	at org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java:101)
	at org.apache.jackrabbit.core.RepositoryImpl.createSessionInstance(RepositoryImpl.java:1613)
	at org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:956)
	at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1501)
	at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:162)
	at info.magnolia.jackrabbit.ProviderImpl.getSystemSession(ProviderImpl.java:527)
	at info.magnolia.repository.DefaultRepositoryManager.getSystemSession(DefaultRepositoryManager.java:259)
	at info.magnolia.context.SystemRepositoryStrategy.internalGetSession(SystemRepositoryStrategy.java:54)
	at info.magnolia.context.AbstractRepositoryStrategy.getSession(AbstractRepositoryStrategy.java:74)
	at info.magnolia.context.AbstractContext.getJCRSession(AbstractContext.java:132)
	at info.magnolia.context.MgnlContext.getJCRSession(MgnlContext.java:649)
	at info.magnolia.cms.security.JCRSessionOp.exec(JCRSessionOp.java:63)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:371)
	at info.magnolia.cms.security.MgnlUserManager.collectUniquePropertyNames(MgnlUserManager.java:648)
	at info.magnolia.cms.security.MgnlUserManager.collectUniquePropertyNames(MgnlUserManager.java:637)
	at info.magnolia.cms.security.MgnlUserManager.newUserInstance(MgnlUserManager.java:588)
	at info.magnolia.cms.security.MgnlUserManager$3.exec(MgnlUserManager.java:242)
	at info.magnolia.cms.security.MgnlUserManager$3.exec(MgnlUserManager.java:238)
	at info.magnolia.cms.security.JCRSessionOp.exec(JCRSessionOp.java:67)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:371)
	at info.magnolia.cms.security.MgnlUserManager.getUser(MgnlUserManager.java:238)
	at info.magnolia.cms.security.SystemUserManager.getOrCreateUser(SystemUserManager.java:191)
	at info.magnolia.cms.security.SystemUserManager.getSystemUser(SystemUserManager.java:131)
	at info.magnolia.cms.security.Security.getSystemUser(Security.java:80)
	at info.magnolia.context.AbstractContext.getUser(AbstractContext.java:72)
	at info.magnolia.context.SimpleContext.getUser(SimpleContext.java:105)
	at info.magnolia.ui.api.message.Message.<init>(Message.java:65)
	at info.magnolia.ui.api.message.Message.<init>(Message.java:74)
	at info.magnolia.module.scheduler.CommandJob.logAndSendErrorMessage(CommandJob.java:153)
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:118)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)


 Comments   
Comment by Jan Haderka [ 25/Aug/15 ]

similarly, when jobs are restarted while being executed results in:

2015-08-25 09:52:11,450 WARN  org.apache.jackrabbit.core.SessionImpl            : Unclosed session detected. The session was opened here: 
java.lang.Exception: Stack Trace
	at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:222)
	at org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:239)
	at org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java:101)
	at org.apache.jackrabbit.core.RepositoryImpl.createSessionInstance(RepositoryImpl.java:1613)
	at org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:956)
	at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1501)
	at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:162)
	at info.magnolia.jackrabbit.ProviderImpl.getSystemSession(ProviderImpl.java:527)
	at info.magnolia.repository.DefaultRepositoryManager.getSystemSession(DefaultRepositoryManager.java:259)
	at info.magnolia.context.SystemRepositoryStrategy.internalGetSession(SystemRepositoryStrategy.java:54)
	at info.magnolia.context.AbstractRepositoryStrategy.getSession(AbstractRepositoryStrategy.java:74)
	at info.magnolia.context.AbstractContext.getJCRSession(AbstractContext.java:132)
	at info.magnolia.context.MgnlContext.getJCRSession(MgnlContext.java:649)
	at info.magnolia.task.persistence.TasksStoreImpl$4.exec(TasksStoreImpl.java:246)
	at info.magnolia.task.persistence.TasksStoreImpl$4.exec(TasksStoreImpl.java:241)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:371)
	at info.magnolia.task.persistence.TasksStoreImpl.executeQuery(TasksStoreImpl.java:241)
	at info.magnolia.task.persistence.TasksStoreImpl.findPendingTasksByUser(TasksStoreImpl.java:221)
	at info.magnolia.task.DefaultTasksManager.findPendingTasksByUser(DefaultTasksManager.java:143)
	at info.magnolia.ui.admincentral.shellapp.pulse.task.TasksListPresenter.getNumberOfPendingTasksForCurrentUser(TasksListPresenter.java:219)
	at info.magnolia.ui.admincentral.shellapp.pulse.PulsePresenter.updatePendingMessagesAndTasksCount(PulsePresenter.java:180)
	at info.magnolia.ui.admincentral.shellapp.pulse.PulsePresenter.messageSent(PulsePresenter.java:118)
	at info.magnolia.ui.framework.message.MessageEvent.dispatch(MessageEvent.java:66)
	at info.magnolia.ui.framework.message.MessageEvent.dispatch(MessageEvent.java:42)
	at info.magnolia.event.SimpleEventBus.fireEvent(SimpleEventBus.java:78)
	at info.magnolia.ui.framework.message.LocalMessageDispatcher.messageSent(LocalMessageDispatcher.java:65)
	at info.magnolia.ui.framework.message.MessagesManagerImpl.sendMessageSentEvent(MessagesManagerImpl.java:212)
	at info.magnolia.ui.framework.message.MessagesManagerImpl.sendLocalMessage(MessagesManagerImpl.java:132)
	at info.magnolia.module.scheduler.CommandJob.logAndSendErrorMessage(CommandJob.java:156)
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:118)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Comment by Jan Haderka [ 25/Aug/15 ]

Rating as critical since when problem occurs it results in resource (memory) loss and eventual performance degradation.

Generated at Mon Feb 12 10:45:30 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.