On 6/10/2015 12:49 AM, Shalin Shekhar Mangar wrote:
> When the actual transfer of a file starts, then the whole commit point
> is "saved" i.e. it won't be released until the entire file transfer is
> complete (this is different from a "reserve" which is time based). At
> the end of the transfer of a single file, the reserve is again extended
> by the commitReserveDuration to allow for the next file to be fetched.
> 
> In my practical experience, increasing the commitReserveDuration in a
> well-behaved Solr install has only been necessary for repeater setups.
> 
> You can see this code in ReplicationHandler.DirectoryFileStream.write()
> method.

It's all starting to make sense. Before the file transfer starts (in the
initWrite() method), the commit point is explicitly saved, and not
released until the file transfer completes.

Do you think there's any chance that a delete could manage to happen
between the two statements in releaseCommitPointAndExtendReserve()?  I
wonder if maybe those two statements should be reversed so the reserve
is extended before the commit point is released.  I don't know enough
about the lower layers to know whether that's a safe thing to do.

Thanks,
Shawn


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to