Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-5759

Activation fails on uuid conflicts of sub-nodes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.2.4
    • Fix Version/s: 5.2.5
    • Component/s: activation
    • Labels:
    • Magnolia Release:
      5.2.5

      Description

      Tested on 5.2.3 and 5.2.4. On 5.2.3 it worked properly as expected.
      This problem happens on asynchronous and not-asynchronous activation.
      It happens on workflow based and on direct activation (Tools -> JCR app). So it is a general activation problem and not just a problem of the asynchronous activation.

      When a sub-node of a page (area node) has on the author a different UUID than on the public, the activation is fails with this error:

      2014-04-30 14:15:54,182 ERROR dule.exchangetransactional.TransactionalSyndicator: Failed to activate content.
      info.magnolia.cms.exchange.ExchangeException: Message received from subscriber: Activation failed : Node with the same UUID exists:node /test/sub1/metaNavigation
      	at info.magnolia.module.activation.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:426)
      	at info.magnolia.module.exchangetransactional.TransactionalSyndicator$2.run(TransactionalSyndicator.java:181)
      	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Thread.java:695)
      2014-04-30 14:15:54,185 ERROR dule.exchangetransactional.TransactionalSyndicator: Message received from subscriber: Activation failed : Node with the same UUID exists:node /test/sub1/metaNavigation
      info.magnolia.cms.exchange.ExchangeException: Message received from subscriber: Activation failed : Node with the same UUID exists:node /test/sub1/metaNavigation
      	at info.magnolia.module.activation.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:426)
      	at info.magnolia.module.exchangetransactional.TransactionalSyndicator$2.run(TransactionalSyndicator.java:181)
      	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Thread.java:695)
      

      Valid use case where this happens:
      as area nodes get created on first rendering, it might happen that a page is created on the author & public instance without the area nodes. The the pages get rendered on both instances, so the area nodes have a different UUID.
      This happens on:

      • automated imports
      • migrations
      • creation of a page and then directly activate it
      • any manual change direct on the public
      • Any component that creates sub nodes dynamically on first render.

      How to reproduce:

      • Create a page in pages app, don't render/open it
      • Activate it
      • render the page on the author (area nodes get created)
      • render the page on the public (area nodes get created)
      • try to activate the page again -> error

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mdivilek Milan Divilek
              Reporter:
              cringele Christian Ringele
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response: