On Fri, Oct 3, 2008 at 2:28 PM, Michael McCandless
<[EMAIL PROTECTED]> wrote:
> Yonik, when Solr commits what does it actually do?

Less than it used to (Solr now uses Lucene to handle deletes).
A solr-level commit closes the IndexWriter, calls some configured
callbacks, opens a new IndexSearcher, warms it, and registers it.

We can tell where the time is taken by looking at the timestamps in
the log entries.  Here is what the log output should look like for a
commit:

INFO: start commit(optimize=false,waitFlush=false,waitSearcher=true)
  // close the index writer
  // call any configured post-commit callbacks (to take a snapshot if
the index, etc).
  // open a new IndexSearcher (uses IndexReader.reopen() of the last
opened reader)
INFO: Opening [EMAIL PROTECTED] main
INFO: end_commit_flush
  // in a different thread, warming of the new IndexSearcher will be done.
  // by default, the solr-level commit will wait for warming to be
done and the new searcher
  // to be registered (i.e. any new searches will see the committed changes)
INFO: autowarming [EMAIL PROTECTED] main from [EMAIL PROTECTED] main [...]
  // there will be multiple autowarming statements, and some could
appear before the
  // end_commit_flush log entry because it's being done in another thread.
INFO: [] Registered new searcher [EMAIL PROTECTED] main
INFO: Closing [EMAIL PROTECTED] main
INFO: {commit=} 0 547
INFO: [] webapp=/solr path=/update params={} status=0 QTime=547

Uwe, can you verify that the bulk of the time is between "start
commit" and "Opening Searcher"?

-Yonik

Reply via email to