Page is not saved Intermittently and Content Loss Due to Database Scheduled Maintenance Plan
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Problem
Intermittently, saving a page fails and causes the modification to be lost. When the issue occurs, there is no draft available.
The following appears in the atlassian-confluence.log
1
2
2014-10-30 12:10:09,073 WARN [http-443-19] [confluence.velocity.introspection.AnnotationBoxingUberspect] lookupMethod Velocity template accessing deprecated method com.atlassian.confluence.pages.DefaultDraftManager#getMergedContent - /users/viewmydrafts.vm[line 70, column 68]
-- url: /users/viewmydrafts.action | userName: tester | referer: https://my.base.url/pages/viewpage.action?pageId=36050615 | action: viewmydrafts
1
2
2015-01-10 03:07:29,165 ERROR [AtlassianEvent::CustomizableThreadFactory-1] [atlassian.event.internal.AsynchronousAbleEventDispatcher] run There was an exception thrown trying to dispatch event 'com.atlassian.confluence.plugins.createcontent.listeners.PluginEnabledListener$AsyncPluginEnabledEvent@10f2320f' from the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.confluence.plugins.createcontent.listeners.PluginEnabledListener.onAsyncBlueprintCreateEvent(com.atlassian.confluence.plugins.createcontent.listeners.PluginEnabledListener$AsyncPluginEnabledEvent), listener=com.atlassian.confluence.plugins.createcontent.listeners.PluginEnabledListener@77cb4a71}'.
java.lang.RuntimeException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
1
2
2015-01-18 13:50:23,367 WARN [http-443-7] [persistence.dao.hibernate.HibernateDraftDao] getDraft Found 2 drafts for pageId = 0 creator = 'com.atlassian.confluence.user.ConfluenceUserImpl@55d987e2[tester,11ba167048b0e8630148cffdcfd70004]' draftType = 'page'
-- url: /pages/createpage-entervariables.action | userName: tester | referer: https://my.base.url/display/KEY/My+Page?src=contextnavpagetreemode | action: createpage-entervariables
Diagnosis
Environment
An issue was found on the following platforms:
Database: Microsoft SQL Server 2008 R2 (10.50.4033)
Application Server's OS: Windows Server 2008 R2 6.1
Application Server: Apache Tomcat/6.0.35
Confluence 5.2.5
Diagnostic Steps
Ensure that there's no files modified/removed in the instance
Database needs to be configured according to Confluence Database Setup Documentation (Database Configuration) - e.g: Isolation Level, Character Set, Collation
Ensure there's no timeout in App Server layer affecting this (remove the
disableUploadTimeout="true"
parameter inserver.xml
)Check the Catalina log during the time issue happened. The following trace could be seen:
1 2 3 4 5 6 7 8 9
feb 01, 2015 8:23:16 AM org.apache.catalina.core.StandardHostValve custom SEVERE: Exception Processing ErrorPage[errorCode=500, lcoation=/500page.jsp] org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection at org.springframework.orm.hibernate.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:473) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
Check the Database server log to look at the timestamp
Cause
After applying the Resolution and observing the instance for about 2 weeks, the frequency of issue occurrences starts to get lower until it completely disappears.
Solution
Resolution
Turn off the maintenance plan in SQL Server Database.
Note: This solution was confirmed after several tests and observation. If you need assistance, please contact Atlassian Support to get help with the troubleshooting.
Was this helpful?