Configuring database query timeout
Database Configuration
- Database JDBC Drivers
- Database Setup for Oracle
- Database Setup for SQL Server
- Database Setup For MySQL
- Database Setup for PostgreSQL
- Embedded H2 Database
- Migrating to Another Database
- Configuring Database Character Encoding
- Configuring database query timeout
- Troubleshooting External Database Connections
- Surviving Database Connection Closures
On this page
Related content
- No related content found
If database queries are taking too long to perform, and your application is becoming unresponsive, you can configure a timeout for database queries. There is no default timeout in Confluence.To configure a database query timeout, do the following on your test server:
1. Shut down Confluence.
2. Extract databaseSubsystemContext.xml
from the confluence-x.x.x.jar
that is in confluence/WEB-INF/lib/
, and put a copy in confluence/WEB-INF/classes/
.
3. Edit confluence/WEB-INF/classes/databaseSubsystemContext.xml
to add the defaultTimeout property to the "transactionManager" bean:
<bean id="tenantedTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager" plugin:available="true">
<property name="sessionFactory" ref="sessionFactory"/>
<property name="defaultTimeout" value="120"/>
</bean>
The timeout is measured in seconds and will forcibly abort queries that take longer than this. In some cases, these errors are not handled gracefully by Confluence and will result in the user seeing the Confluence error page.
4. Start Confluence.
Once the timeout is working properly in your test environment, migration the configuration change to Confluence.
You will need to reapply these changes when upgrading Confluence, as the original databaseSubsystemContext.xml
file changes from version to version.
Related content
- No related content found