For a single-core the filenames are always hardcoded like solrconfig.xml and schema.xml. solrconfig.xml filename can be overridden from web.xml,
...and they can be overridden in solr.xml – that's my main points: you are adding a filewhose name is hardcoded and can't be changed under any circumstances. currently solr.xml is the only field with those kinds of rules, because the solrconfig.xml and schema.xml filenames can be specified in solr.xml.
I also contest your claim that they are alwasy hardcoded for single cores ... we've been making definite progress down a path of encouraging people to use solr.xml even for single core setups, as you say...
I wish the single core also becomes a multicore with one core and all these confusions can go away.
...i agree with you completley, but it's not going to happen overnight, and adding more hardcoded things like this is just a step backwards.
Frankly: i don't even thing there should be a default name for this new properties file, i think that if you want Solr to load properties from a file for you, you should be required to use solr.xml, and specify a filename there – that would also give us the benefit of letting people specify multiple filenames (which is my other big concern about a single magic filename: there can be only one of them. for something like schema.xml or solrconfig.xml that's not the end of the world because merging multiple files doesn't even make much sense, but property files are extremly simple, and it should be just as easy to specify 37 of them as it is to specify 1.
Do we really need to do it now because the properties file itself is optional and adding that to solr.xml can add to more clutter for a feature that is not widely used . Even if we add it later it is going to be backward compatible.
If it's something we know we're going to want to do, and it's going to keep the code simpler in the long run, we might as well do it right the first time. there's already too much confusion between the distinction between the solr home dir, and the solr instance dir when dealing with solr.xml ... having a new magic filename just convolutes matters (looking at the code: i can't immediately tell, is the property file expected to be in the instanceDir, or the solr home? ... what if i have both?
do we really have a choice here? Solr needs solr.solr.home to be set as a system property and all testcases follow this pattern
There shouldn't be any need for a test to set the solr.solr.home system property ... the TestHarness already takes care of initializing the core with the appropriate home dir.
(if for some reason this features tickles a bit of core initialization that doesn't work properly with the TestHarness then we should fix the TestHarness ... it's probably out of date with some of the EmbeddedSolr best practices anyway)