[ 
https://issues.apache.org/jira/browse/OAK-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14989192#comment-14989192
 ] 

Tomek Rękawek edited comment on OAK-2106 at 12/8/15 10:51 AM:
--------------------------------------------------------------

After discussing with Marcel I tried a different approach, in which the Oak 
instance connects directly to all secondary instances and reads their _lastRev 
for the root. Then it's able to check if the secondary instance contains an 
up-to-date parent and - therefore - if the request document can be read from 
the nearest Mongo instance.


was (Author: tomek.rekawek):
After discussing with Marcel I tried a different approach, in which the Oak 
instance connects directly to all secondary instances and reads their _lastRev 
for the root. Then it's able to check if the secondary instance contains an 
up-to-date parent and - therefore - if the request document can be read from 
the nearest Mongo instance.

Pull request:
https://github.com/apache/jackrabbit-oak/pull/41

Patch file:
https://github.com/apache/jackrabbit-oak/pull/41.diff

> Optimize reads from secondaries
> -------------------------------
>
>                 Key: OAK-2106
>                 URL: https://issues.apache.org/jira/browse/OAK-2106
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>              Labels: performance, scalability
>
> OAK-1645 introduced support for reads from secondaries under certain
> conditions. The current implementation checks the _lastRev on a potentially
> cached parent document and reads from a secondary if it has not been
> modified in the last 6 hours. This timespan is somewhat arbitrary but
> reflects the assumption that the replication lag of a secondary shouldn't
> be more than 6 hours.
> This logic should be optimized to take the actual replication lag into
> account. MongoDB provides information about the replication lag with
> the command rs.status().



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

Reply via email to