| Steps to reproduce
- Create an older instance of XWiki with Distribution Wizard (e.g. reproduced with 12.10.11 on Jetty/HSQL)
- Create a subwiki on this instance
- Close the instance
- Copy/move the data folder from the older instance into an 18.4.1 instance (reproduced (replace the folder if it exists)
- Start the new XWiki instance
- Follow the Distribution Wizard to upgrade the Main Wiki
- Observe the logs
Expected results No errors/ warnings are displayed. Actual results During the upgrade of the Main Wiki with DW, the following warnings are displayed in XWiki logs:
2026-06-18 16:58:41,656 [XWiki Reload Schedulers after classloader reload for namespace [null]] WARN c.x.x.d.XWikiDocument - Abusive modification of the cached document [subwikiglobal:Scheduler.NotificationEmailWeeklySender()]
java.lang.IllegalStateException: Abusive modification of the cached document
at com.xpn.xwiki.doc.XWikiDocument.warnWithStackTrace(XWikiDocument.java:9416)
at com.xpn.xwiki.doc.XWikiDocument.setMetaDataDirty(XWikiDocument.java:2459)
at com.xpn.xwiki.objects.BaseElement.setDirty(BaseElement.java:134)
at com.xpn.xwiki.objects.BaseProperty.setDirty(BaseProperty.java:448)
at com.xpn.xwiki.objects.BaseProperty.setValueDirty(BaseProperty.java:442)
at com.xpn.xwiki.objects.BaseStringProperty.setValue(BaseStringProperty.java:77)
at com.xpn.xwiki.objects.BaseCollection.setStringValue(BaseCollection.java:338)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.prepareJobStubContext(SchedulerPlugin.java:262)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.buildJobDetails(SchedulerPlugin.java:457)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.reloadJob(SchedulerPlugin.java:653)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.reloadScheduler(SchedulersClassLoaderManager.java:152)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.lambda$onClassLoaderReset$1(SchedulersClassLoaderManager.java:137)
at org.xwiki.context.concurrent.ExecutionContextRunnable.run(ExecutionContextRunnable.java:71)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:456)
2026-06-18 16:58:41,689 [XWiki Reload Schedulers after classloader reload for namespace [null]] WARN c.x.x.d.XWikiDocument - Abusive modification of the cached document [subwikiglobal:Scheduler.NotificationEmailHourlySender()]
java.lang.IllegalStateException: Abusive modification of the cached document
at com.xpn.xwiki.doc.XWikiDocument.warnWithStackTrace(XWikiDocument.java:9416)
at com.xpn.xwiki.doc.XWikiDocument.setMetaDataDirty(XWikiDocument.java:2459)
at com.xpn.xwiki.objects.BaseElement.setDirty(BaseElement.java:134)
at com.xpn.xwiki.objects.BaseProperty.setDirty(BaseProperty.java:448)
at com.xpn.xwiki.objects.BaseProperty.setValueDirty(BaseProperty.java:442)
at com.xpn.xwiki.objects.BaseStringProperty.setValue(BaseStringProperty.java:77)
at com.xpn.xwiki.objects.BaseCollection.setStringValue(BaseCollection.java:338)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.prepareJobStubContext(SchedulerPlugin.java:262)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.buildJobDetails(SchedulerPlugin.java:457)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.reloadJob(SchedulerPlugin.java:653)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.reloadScheduler(SchedulersClassLoaderManager.java:152)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.lambda$onClassLoaderReset$1(SchedulersClassLoaderManager.java:137)
at org.xwiki.context.concurrent.ExecutionContextRunnable.run(ExecutionContextRunnable.java:71)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:456)
2026-06-18 16:58:41,704 [XWiki Reload Schedulers after classloader reload for namespace [null]] WARN c.x.x.d.XWikiDocument - Abusive modification of the cached document [subwikiglobal:Scheduler.NotificationEmailDailySender()]
java.lang.IllegalStateException: Abusive modification of the cached document
at com.xpn.xwiki.doc.XWikiDocument.warnWithStackTrace(XWikiDocument.java:9416)
at com.xpn.xwiki.doc.XWikiDocument.setMetaDataDirty(XWikiDocument.java:2459)
at com.xpn.xwiki.objects.BaseElement.setDirty(BaseElement.java:134)
at com.xpn.xwiki.objects.BaseProperty.setDirty(BaseProperty.java:448)
at com.xpn.xwiki.objects.BaseProperty.setValueDirty(BaseProperty.java:442)
at com.xpn.xwiki.objects.BaseStringProperty.setValue(BaseStringProperty.java:77)
at com.xpn.xwiki.objects.BaseCollection.setStringValue(BaseCollection.java:338)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.prepareJobStubContext(SchedulerPlugin.java:262)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.buildJobDetails(SchedulerPlugin.java:457)
at com.xpn.xwiki.plugin.scheduler.SchedulerPlugin.reloadJob(SchedulerPlugin.java:653)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.reloadScheduler(SchedulersClassLoaderManager.java:152)
at com.xpn.xwiki.plugin.scheduler.internal.SchedulersClassLoaderManager.lambda$onClassLoaderReset$1(SchedulersClassLoaderManager.java:137)
at org.xwiki.context.concurrent.ExecutionContextRunnable.run(ExecutionContextRunnable.java:71)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:456)
I've tried several times to reproduce the issue with 18.4.0, but it seems I couldn't. |