In Attempting to improve the docs for MOVEREPLICA I've wound up reading a lot of code (to be sure that my additions/changes actually bring us closer to what solr actually does!) and I've noticed a couple of things that seem odd, possibly unfinished...
There is a "parallel" attribute being extracted for the messages for ADD/MOVE/DELETE replica commands, but I don't (quickly) see any sign that this attribute is collected and passed on in CollectionsHandler when it creates an OP eunm instance so it's not clear that this can actually be used (except perhaps somewhere deep in our code? or alternately I've stared at code too long and gone blind :) ) MOVEREPLICA accepts the waitforfinalstate attribute, but as far as I can tell this has no real effect since MOVEREPLICA (which is really just a bundled add/delete) always waits for the add to complete before issuing the corresponding delete, and passing waitforfinalstate merely shifts that wait (respecting the same timeout no less) to the addReplica invocation, Timeouts are not respected in MOVEREPLICA for the hdfs case... this seems wrong, since the parameter already exists, and code for a hard-coded timeout already exists why not give the user control? (see https://issues.apache.org/jira/browse/SOLR-14568) Finally, it seems that move-replica, add-replica and delete-replica are scattered across the v2 api as such: - move-replica is in apispec/collections.collection.Commands.json - add-replica is in apispec/collections.collection.shards.Commands.json - delete-replica is in apispec/collections.collection.shards.shard.replica.delete.json This seems disorganized and not very intuitive. shard is often not required for replica based commands so it seems that maybe they should all be in a single /collections.collection.replicas.Commands.json? That of course is a big change with back compat problems, but maybe after a deprecation cycle it could be changed... Anyone have any thoughts on these? Lifting the lid: "Is this cheese too old, or expensive?" -Gus -- http://www.needhamsoftware.com (work) http://www.the111shift.com (play)
