[ https://issues.apache.org/jira/browse/SOLR-7932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14698474#comment-14698474 ]
Shawn Heisey commented on SOLR-7932: ------------------------------------ I wasn't suggesting that Solr should be responsible for syncing the clocks. That's likely not even possible. We could theoretically compensate for differences if we can detect what the difference is, but I don't think that's our job either. I was suggesting that Solr should proactively DETECT clock sync problems, and let the user know that there's a problem with their install. Fixing it is up to the user. > Solr replication relies on timestamps to sync across machines > ------------------------------------------------------------- > > Key: SOLR-7932 > URL: https://issues.apache.org/jira/browse/SOLR-7932 > Project: Solr > Issue Type: Bug > Components: replication (java) > Reporter: Ramkumar Aiyengar > > Spinning off SOLR-7859, noticed there that wall time recorded as commit data > on a commit to check if replication needs to be done. In IndexFetcher, there > is this code: > {code} > if (!forceReplication && > IndexDeletionPolicyWrapper.getCommitTimestamp(commit) == latestVersion) { > //master and slave are already in sync just return > LOG.info("Slave in sync with master."); > successfulInstall = true; > return true; > } > {code} > It appears as if we are checking wall times across machines to check if we > are in sync, this could go wrong. > Once a decision is made to replicate, we do seem to use generations instead, > except for this place below checks both generations and timestamps to see if > a full copy is needed.. > {code} > // if the generation of master is older than that of the slave , it > means they are not compatible to be copied > // then a new index directory to be created and all the files need to > be copied > boolean isFullCopyNeeded = IndexDeletionPolicyWrapper > .getCommitTimestamp(commit) >= latestVersion > || commit.getGeneration() >= latestGeneration || forceReplication; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org