Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-23251

Abusive modification of the cached document when moving to subwiki a page containing a link to another page

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 16.10.9, 17.5.0-rc-1, 17.4.1
    • 17.3.0
    • Refactoring
    • None
    • Windows 11 Pro, Firefox 138, using an instance of XWiki 17.3.0 on MariaDB 11.7, Tomcat 11.0.6
    • Unknown
    • N/A
    • N/A

    Description

      Steps to reproduce

      1. Create a page (e.g. P1)
      2. Edit the page and insert a link to another existing page (e.g. to Sandbox)
      3. Create a subwiki
      4. Move/ rename the previously created page (e.g. P1) to the subwiki
      5. Observe the rename log

      Expected results

      No warnings are displayed.

      Actual results

      The following warning is displayed:

      Abusive modification of the cached document
      class java.lang.IllegalStateException: Abusive modification of the cached document
          at com.xpn.xwiki.doc.XWikiDocument.setMetaDataDirty(XWikiDocument.java:2457)
          at org.xwiki.refactoring.internal.DefaultReferenceUpdater.saveDocumentPreservingAuthors(DefaultReferenceUpdater.java:148)
          at org.xwiki.refactoring.internal.DefaultReferenceUpdater.renameLinks(DefaultReferenceUpdater.java:261)
          at org.xwiki.refactoring.internal.DefaultReferenceUpdater.internalRenameLinks(DefaultReferenceUpdater.java:312)
          at org.xwiki.refactoring.internal.DefaultReferenceUpdater.renameLinks(DefaultReferenceUpdater.java:282)
          at org.xwiki.refactoring.internal.DefaultReferenceUpdater.update(DefaultReferenceUpdater.java:364)
          at com.xpn.xwiki.XWiki.updateLinksForRename(XWiki.java:4989)
          at com.xpn.xwiki.XWiki.renameDocument(XWiki.java:4947)
          at org.xwiki.refactoring.internal.DefaultModelBridge.rename(DefaultModelBridge.java:729)
          at org.xwiki.refactoring.internal.job.MoveJob.atomicOperation(MoveJob.java:117)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.copyOrMove(AbstractCopyOrMoveJob.java:386)
          at org.xwiki.refactoring.internal.job.MoveJob.performRefactoring(MoveJob.java:108)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.maybePerformRefactoring(AbstractCopyOrMoveJob.java:351)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.process(AbstractCopyOrMoveJob.java:273)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.process(AbstractCopyOrMoveJob.java:245)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.process(AbstractCopyOrMoveJob.java:125)
          at org.xwiki.refactoring.internal.job.RenameJob.process(RenameJob.java:50)
          at org.xwiki.refactoring.internal.job.AbstractEntityJobWithChecks.runInternal(AbstractEntityJobWithChecks.java:69)
          at org.xwiki.refactoring.internal.job.AbstractCopyOrMoveJob.runInternal(AbstractCopyOrMoveJob.java:73)
          at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246)
          at org.xwiki.job.AbstractJob.run(AbstractJob.java:223)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
          at java.base/java.lang.Thread.run(Thread.java:1583)

      No warnings on the XWiki logs.

      Reproduced as well on XWiki 17.4.0.

      Attachments

        Activity

          People

            tmortagne Thomas Mortagne
            iandriuta Ilie Andriuta
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: