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 in server.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.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.