I'm concerned about Solr's V2 API and the maintenance burden of attempting to maintain consistency with V1. For example upon looking through the release notes and seeing a new exciting REINDEXCOLLECTION command (a V1 reference), I see no corresponding adjustments in V2 -- lucene-solr/solr/solrj/src/resources/apispec/* It's so easy for this to fall out of sync. When working on a feature affecting admin API stuff I need to somehow just remember/know and then ask myself if I want to test a new feature with just one API or both. Ugh. Additionally, the vast majority of our documentation is in V1, and our help in solr-user and elsewhere often uses a one-liner URL to the V1 API as well.
As if Solr needed more maintenance challenges than it has already (e.g. tests). :-( I mainly want to point out this problem right now to see if others also see the problem and if anyone else has thought about it. While working on Time Routed Aliases, I saw it but didn't call it out. I thought maybe somehow our implementation of the admin functionality could be done differently so as to nearly require a V2 adjustment, and thus we don't forget. For example if the V2 API was basically primary, and if it had metadata that described how a virtual V1 API could work based off metadata in the V2 apispec there that does mapping. In this way, everything would work in V2 and V1 by default, or at least the majority of the time. V2 requires more information than V1, so if we continue to have V1 primary (i.e. do nothing), V2 will always be falling behind. ~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley