Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-4808 Index external changes as part of NRT indexing
  3. OAK-5430

Provide an extension point in DocumentNodeStore Journal support

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Technical task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.18, 1.6.0
    • Component/s: documentmk
    • Labels:
      None

      Description

      As discussed in OAK-4808 B1 I would like to expose an extension point in form of SPI in DocumentNodeStore Journal handling.

      Each component which needs to add a custom property to JournalEntry would provide a JournalPropertyService. This service would provide a JournalPropertyBuilder which would be used to accumulate the JournalProperty

      1. For background write - JournalProperty would be read from CommitInfo and would be added to the builder. Upon background write cycle the builder would provide a string representation of the builder state which would be save as a property in JournalEntry
      2. For background read - DocumentNodeStore would create builder for each service and would update them from string property value which are read from the JournalEntry

      DocumentNodeStore would lookup all JournalPropertyService via JournalPropertyServiceTracker and construct a JournalPropertyHandler which would manage the builder state

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              chetanm Chetan Mehrotra
              Reporter:
              chetanm Chetan Mehrotra

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment