Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-12989

WARN rather than fail when a content source cannot be exported due to missing ancestors

    XMLWordPrintable

Details

    • Improvement
    • Status: New
    • High
    • Resolution: Unresolved
    • None
    • None
    • hcm
    • None
    • Pulsar
    • !Pulsar - Misc brXM

    Description

      Currently, if a content path is changed while auto-export is running, DefinitionMergeService attempts to find the immediate parent of the changed path in existing YAML data, either as config or content. It is possible that this parent node is defined nowhere, since content can be created anywhere in the repository and the ancestors weren't necessarily exported. In this situation, auto-export currently throws an exception and fails. This is likely to occur if you work as a developer with a database backup from a production or staging system, and it can block usage of auto-export with no obvious recourse for fixing the problem. (The actual fix is to use the autoexport:excluded property to prevent the entire missing portion of the JCR from being considered for auto-export.)

      Instead of failing, auto-export should do one of:

      1. Issue a WARN level log statement, ignore that content path, and continue processing other paths. Perhaps this should include the recommendation to use autoexport:excluded to prevent it from recurring.
      2. Export the necessary content definitions of ancestors to enable exporting the changed path.

      Since option 2 could lead to a pathological case of exporting a very large amount of data from a production database, I recommend the simpler option 1.

      Attachments

        Activity

          People

            pulsarteam Pulsar Team
            PCentgraf Peter Centgraf
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: