Collection creation has an optional parameter waitForFinalState
<https://solr.apache.org/guide/solr/latest/deployment-guide/collection-management.html#create>
 :

If true, the request will complete only when all affected replicas become
active. The default is false, which means that the API will return the
status of the single action, which may be before the new replica is online
and active.

Wouldn’t a caller of a command (any command to anything; whatever)
generally expect that the command has completed when a command returns?  I
question the default choice of this parameter.  I believe it pre-dated the
more general “async” support of collection commands.

Proposal: remove it.  Internal logic should behave as if it's "true".

Come to think of it, I see this in quite a number of other commands
involving replica creations too.

I'm aware there's no 100% guarantee of availability if the client talks to
another node right after; that's a separate problem I've been mulling over
with the beginnings of a proposal.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley

Reply via email to