: Suppose I commit a number of adds but the adds have caused a lengthy segment
: merge and the commit blocks and times out. How can I tell when all my adds are
: searchable?  Do I have to query solr for the given collid field value for each
: document the users document list view?

When HTTP requests to Solr (to do a commit for example) time out, it's 
just the client<->server connection that times out, the server *should* 
still beprocessingthe request, you just won't know when it's done without 
that communication channel.
(I say *should* because i've never seen a servlet container that doesn't 
work this way, but i suppose it's theoretically possible that a servlet 
container could terminate a thread if the connection with the client times 
out)

: In another case, can a commit sneak ahead of a list of adds or is the commit
: blocked until the adds complete?  If the commit is not blocked, I can't use
: the commit to mark a document ready to be searched because it's coll id fields
: may not be indexed yet.

See my comment in your related thread about how Solr doesn't decide the 
order that parallel HTTP requests are processed -- the only way to be 
certain that a commit happened after an add is to not initiate the commit 
until after you get a "success" response from the add.

if you want to be certain that you know the state of your index, stop 
sending adds while you do a commit, use a long timeout (or retry logic) 
when doing the commit, then mark all of your previous adds as "commited" 
in your DB and resume further additions.




-Hoss

Reply via email to