[ 
https://issues.apache.org/jira/browse/OAK-4642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Davide Giannella closed OAK-4642.
---------------------------------

Bulk close for 1.5.8

> Provide a way to pass indexing related state to IndexEditorProvider
> -------------------------------------------------------------------
>
>                 Key: OAK-4642
>                 URL: https://issues.apache.org/jira/browse/OAK-4642
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.6, 1.5.8
>
>         Attachments: OAK-4642-o4-v1.patch, OAK-4642-o4-v2.patch
>
>
> An index editor needs access to some more data points like below in the 
> indexing process
> # reindexing - Currently the index implementation use some heuristic like 
> check before root state being empty to determine if they are running in 
> reindexing mode
> # indexing mode - sync or async
> # index path of the index (see OAK-4152)
> # 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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to