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

Provide a way to pass indexing related state to IndexEditorProvider

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.5.8, 1.6.0
    • core
    • None

    Description

      An index editor needs access to some more data points like below in the indexing process

      1. reindexing - Currently the index implementation use some heuristic like check before root state being empty to determine if they are running in reindexing mode
      2. indexing mode - sync or async
      3. index path of the index (see OAK-4152)
      4. CommitInfo (see OAK-4640)

      For this we need to provide a way to pass these data points from indexing flow. We have following options

      • O1 - Introduce a new interface which takes an IndexingContext instance which provide access to such datapoints. This would require some broader change
        • Whereever the IndexEditorProvider is invoked it would need to check if the instance implements new interface. If yes then new method needs to be used
      • O2 - Here we can introduce such data points as part of callback interface. With this we would need to implement such methods in places where code constructs the callback
      • O3 - Make a backward incompatible change and just modify the existing interface and adapt the various implementation
      • O4 - Similar to O2 but here instead of modifying the existing IndexUpdateCallback we can introduce a new interface ContextualCallback which extends IndexUpdateCallback and provide access to IndexingContext. Editor provider implementation can then check if the callback implements this new interface and then cast it and access the context. So only those client which are interested in new capability make use of this

      Attachments

        1. OAK-4642-o4-v2.patch
          14 kB
          Chetan Mehrotra
        2. OAK-4642-o4-v1.patch
          10 kB
          Chetan Mehrotra

        Issue Links

          Activity

            People

              chetanm Chetan Mehrotra
              chetanm Chetan Mehrotra
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: