Branch: refs/heads/XWIKI-25019 Home: https://github.com/xwiki/xwiki-platform Commit: d90e94fc5927bcd7fb2adb2adcdc19cf63abe9eb https://github.com/xwiki/xwiki-platform/commit/d90e94fc5927bcd7fb2adb2adcdc1... Author: Marius Dumitru Florea <[email protected]> Date: 2026-09-18 (Fri, 18 Sep 2026) Changed paths: M xwiki-platform-core/xwiki-platform-oldcore/pom.xml M xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/XWikiHibernateBaseStore.java M xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/XWikiHibernateStore.java M xwiki-platform-core/xwiki-platform-oldcore/src/test/java/com/xpn/xwiki/store/XWikiHibernateStoreTest.java Log Message: ----------- XWIKI-25019: Acquiring a document lock can fail with a deadlock on MySQL * Add XWikiHibernateBaseStore#executeWriteWithRetry, which runs an idempotent write again when the database refuses to grant the locks it needs, as it does to break a deadlock. The callback is flushed inside its transaction, because a statement that fails while the transaction is being closed doesn't reach the caller: execute() only logs it. * Save and delete a document lock through it, since a page is locked and unlocked by several concurrent requests and the resulting writes on that single small table can deadlock. * Raise the JaCoCo instruction ratio to the coverage now achieved by the module. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-platform/settings/notifications