: 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