jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (OAK-1645) Route find queries to Mongo secondary in MongoDocumentStore
Date Tue, 22 Jul 2014 08:11:42 GMT

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

Marcel Reutegger closed OAK-1645.

> 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.0.2, 1.1
>         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

This message was sent by Atlassian JIRA

View raw message