[ https://issues.apache.org/jira/browse/OAK-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14968927#comment-14968927 ]
Tomek Rękawek commented on OAK-2106: ------------------------------------ I'll continue work on this. Current state can be found on [my github|https://github.com/trekawek/jackrabbit-oak/tree/OAK-2106]. I've finished a [draft of the replication lag estimator|https://github.com/trekawek/jackrabbit-oak/blob/OAK-2106/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReplicationLagEstimator.java], now we should decide in which cases it can be used. I asked [~catholicon] about the "trickier" case when the change is done locally. He meant following situation: 1. There's a branch. 2. We want to read the document xyz, belonging to this branch, modified in 12:10 3. xyz can be found in cache, with the modification date 12:00 (as the cache doesn't reflect branch changes). 4. Safe time for secondaries is 12:05 (>12:00). 5. We read the document from secondary and get an old version. So, basically we shouldn't ask the secondary instance for a document belonging to a branch. > 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)