Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-3844

Better support for versionable nodes without version histories

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.13
    • 1.4
    • upgrade
    • None

    Description

      One of the customers reported following exception that has been thrown during the migration:

      Caused by: java.lang.IllegalStateException: This builder does not exist: 95a5253f-d37b-4e88-a4b4-0721530344fc
      	at com.google.common.base.Preconditions.checkState(Preconditions.java:150)
      	at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:506)
      	at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:522)
      	at org.apache.jackrabbit.oak.upgrade.version.VersionableEditor.setVersionablePath(VersionableEditor.java:148)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:226)
      ...
      	at org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:486)
      

      It seems that the node with reported UUID has primary type inheriting from mixin mix:versionable, but there is no appropriate version history in the version storage.

      Obviously this means that there's something wrong with the repository. However, I think that the migration process shouldn't fail, but proceed silently.

      Attachments

        1. OAK-3844-failing-test.patch
          9 kB
          Julian Sedding
        2. OAK-3844.patch
          9 kB
          Tomek Rękawek

        Issue Links

          Activity

            People

              jsedding Julian Sedding
              tomek.rekawek Tomek Rękawek
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: