Thomas Mueller created OAK-3213:
-----------------------------------

             Summary: Improve DocumentStore API
                 Key: OAK-3213
                 URL: https://issues.apache.org/jira/browse/OAK-3213
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core, mongomk
            Reporter: Thomas Mueller


The current DocumentStore API needs to be improved to support new requirements, 
for example OAK-3001, to avoid "instanceof XYZDocumentStore" in the 
DocumentNodeStore implementation, to possibly improve performance, and to make 
it (more) future-proof.

* Improved query functionality to support many constraints (currently, 
DocumentStore.query only fromKey, toKey, and startValue).
* Allow query results to not be ordered by key if not needed at the caller side.
* Maybe support remove with constraints (for OAK-3001).
* Define if only the whole document is needed, or just the key, or the key plus 
some of its properties.
* Define how old the result can be (is it allowed to return cached documents, 
how fresh does the result need to be, is it allowed to return some cached and 
some new documents).
* In case of version changes in the data model (additional collections, 
additional indexes), allow to work with existing data, possibly without having 
to upgrade the store (maybe in read-only mode).

Documentation might need to be improved to cover the data model as well (list 
of collections, list of indexes, possibility of additional indexes), and 
expected performance characteristics.

There are some options questions:

* Should we backport this change (to the 1.0 and / or 1.2 branch)?
* Should we keep the current API (DocumentStore.query for example)?




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

Reply via email to