I had a long plane ride so I cut solr.properties out in the attached patch. All tests pass, although I haven't yet really gone over it yet, consider this preliminary.
Known tasks not yet done:
1> add tests for persisting the new property.
2> there are a couple of JIRAs (
SOLR-4631 and SOLR-4632) that I have yet to incorporate.
There is a new attribute for <cores>, autoDiscoverCores=["true"|"false"], defaults presently to "false". If you'd like a different name, speak now...
I left the interface definition in place, currently only ConfigSolrXml implements it (renamed from ConfigSolrXmlBackCompat). My theory is that since it's there already, leaving it in has the advantage of allowing easier implementation of a pluggable configuration provider of some kind should the desire arise. One possibility (although I know nothing about whether it's desirable) would be provide all this info from ZK directly, maybe based on a sysprop?
I also renamed several files, removed the supporting config fies for solr.properties etc., so be aware that some things have moved around...
I plan to commit this in the next couple of days to both trunk and 4x on the theory that the faster I take solr.properties out of code anyone can get to, the less they'll be inconvenienced by flip-flopping.
Changing this didn't require any changes to the tricky bits around coordinating core load/unload/reload code, so it's not a radical change. Not to say I necessarily did it right, but it's not nearly as scary as the rest of the changes for
All comments welcome....