[
https://issues.apache.org/jira/browse/OAK-1645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chetan Mehrotra updated OAK-1645:
---------------------------------
Fix Version/s: 1.0.2
> Route find queries to Mongo secondary in MongoDocumentStore
> -----------------------------------------------------------
>
> Key: OAK-1645
> URL: https://issues.apache.org/jira/browse/OAK-1645
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: mongomk
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Fix For: 1.1, 1.0.2
>
> Attachments: OAK-1645-1.patch, OAK-1645-2.patch
>
>
> Currently MongoDocumentStores routes all find query to primary. In some case
> it is possible to route the call to secondary safely
> *1. Make use of Max Age*
> Find call takes a maxAge parameter
> {code}
> find(Collection<T> collection, String key, int maxCacheAge)
> {code}
> If the maxAge is high then its safe to route the call to secondary as the
> caller explicitly does not want the latest version. This would be specially
> useful in fetching split documents as such docs are immutable. So logic can
> first check in secondary and if not found can make a call to primary
> *2. Make use of modified time of parent*
> When fetch a path its possible to check if the parent exist in the cache or
> not. if parent is present in cache we can make use of its {{modified}} time.
> If the modified time is old it indicates that subtree under it has also not
> been modified. So call for such child can be routed to secondary
> In both cases we need to have a time interval defined to switch the logic to
> secondary call
--
This message was sent by Atlassian JIRA
(v6.2#6252)