Details
Description
A client ran into a "Maximum open database cursors" on startup, originating from the Hippo locking mechanism.
The suggestion was that in org.onehippo.repository.lock.db.DbLockManager#createLock, the lock statement is not closed when its executeUpdate call fails:
try { connection = dataSource.getConnection(); PreparedStatement lockStatement = connection.prepareStatement(getLockStatement()); ... int changed = lockStatement.executeUpdate(); lockStatement.close(); ... } finally { // shouldn't we call lockStatement.close() here? close(connection, originalAutoCommit); }