Jackrabbit Content Repository
  1. Jackrabbit Content Repository
  2. JCR-3017

Version history recovery fails in case a version does not have a jcr:frozenNode

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2.10, 2.3.1
    • Component/s: versioning
    • Labels:
      None

      Description

      With JCR-2551 in place, a version recovery mode has been introduced. Problem now is that in case a version is encountered that misses a mandatory jcr:frozenNode, an InternalError is thrown by o.a.j.c.version.InternalVersionHistoryImpl#createVersionInstance. Since o.a.j.c.RepositoryChecker#checkVersionHistory only catches Exception, it fails to catch it properly which leads to a complete repository shutdown.

      Throwing for example a RuntimeException instead fixes the problem.

      1. JCR-3017.patch
        4 kB
        Julian Reschke

        Issue Links

          Activity

          Hide
          Julian Reschke added a comment -

          introduce a new specific subclass of RTE for these situations and use it where appropriate

          Show
          Julian Reschke added a comment - introduce a new specific subclass of RTE for these situations and use it where appropriate
          Hide
          Marcel Reutegger added a comment -

          Patch looks good to me.

          +1

          Show
          Marcel Reutegger added a comment - Patch looks good to me. +1
          Hide
          Julian Reschke added a comment -

          trunk: 1179548, 2.2: 1179551

          Show
          Julian Reschke added a comment - trunk: 1179548, 2.2: 1179551

            People

            • Assignee:
              Julian Reschke
              Reporter:
              Honwai Wong
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development