You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2015/11/04 10:24:27 UTC

[jira] [Commented] (OAK-2106) Optimize reads from secondaries

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

Tomek Rękawek commented on OAK-2106:
------------------------------------

After discussing with Marcel I tried a different approach, in which the Oak instance connect 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)