In the process of upgrading to 4.1 from 3.6, I've noticed that our master servers do not show any commit points available until after a new commit happens. So, for static indexes, replication doesn't happen and for dynamic indexes, we have to wait until an incremental update of master for slaves to see any commits.
Tracing through the code, it looks like the change that may have effected us was part of SOLR-3911 [1], specifically commenting out the initialization of the newIndexWriter in the replicateAfterStartup block [2]: // TODO: perhaps this is no longer necessary then? // core.getUpdateHandler().newIndexWriter(true); I'm guessing this is commented out because it is assumed that indexCommitPoint was going to be set by that block, but when a slave requests commits, that goes back to core.getDeletionPolicy().getCommits() to fetch the list of commits. If no indexWriter has been initialized, then, as far as I can tell, IndexDeletionPolicyWrapper#onInit will not have been called and there will be no commits available. Is there something in the code or configuration that we may be missing that should be initializing the commits for replication or should we just try uncommenting that line in ReplicationHandler? Thanks! --Gregg Gregg Donovan Senior Software Engineer, Etsy.com gr...@etsy.com [1] https://issues.apache.org/jira/browse/SOLR-3911 https://issues.apache.org/jira/secure/attachment/12548596/SOLR-3911.patch [2] http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java?annotate=1420992&diff_format=h&pathrev=1420992#l880