As far as name, I like solr.xml better than multicore.xml
Option #2 is interesting... and might be even more so if files in the
base conf directory could act as defaults (perhaps a future feature).

-Yonik


On Thu, Aug 7, 2008 at 2:51 PM, Chris Hostetter
<[EMAIL PROTECTED]> wrote:
>
> I know I probably should have brought this up a little farther in advance of
> releasing 1.3 (I think i did bring it up back when multicore was first added
> ,but then I kind of forgot about it) but I have some concerns about the name
> of the "multicore.xml" file.  If I'm alone, I'll let it go, but if other
> people think I have a point, we should make the change it prior to the
> release.
>
> Main Concern...
>
> From the standpoint of debugging, answering questions, and general
> "Understanding" of a Solr installation the first thing you always have to
> ask with 1.3 is "What is the Solr Home directory?" and the second thing is
> "What does the ./conf/solrconfig.xml file look like?"
>
> As the trunk stands now, the new second question becomes "Is there a
> ./multicore.xml?" ... because if there is, then it doesn't matter what
> ./conf/solrconfig.xml looks like, it's totally ignored 9and you can be
> certain that some confusion like that will pop up as people switch from
> traditional single core to usage to multicore usage, there will be some
> ./conf/solrconfig.xml files lying around).
>
> The question can't even be "Is this instance of Solr using multiple cores?"
> because that's not what really matters, what matters is the multicore.xml
> file.  A person might only be using one core, but if multicore.xml exists it
> determines where to look for all of the configs for that core, not
> ./conf/solrconfig.xml.
>
> So far, I see two problems with this:
>  1) The name of the file corresponds with one specific way it can be
>     used, but may not be applicable to all usages (namely: you can
>     have a multicore.xml file but only use one core)
>  2) The "first" config file checked to determine the application's
>     behavior, and what paths will be checked for other config files
>     is named after one specific feature of the application.
>
> From a historical perspective, our current setup would be like if the Apache
> HTTPD server had originally used ./conf/httpd.conf as the primary config,
> but when VirtualHost features were added, started saying "If there is a
> ./virtualhost.conf file it will be read first, and it will tell us which
> httpd.conf files to read, even if there is only one VirtualHost."
>
> This seems odd to me, and likely to confuse new users.
> Am I alone in this opinion?
>
> I have two suggested alternatives:
>
> Suggestion #1: Rename multicore.xml something new.
>
> The best suggestion I have is "solr.xml" -- It is a good name to represent
> the "first" config file Solr looks for.  If it exists in the Solr Home
> Directory, it will tell us how many cores to run, and what directories to
> use for them.  (Someday we might even want to consider allowing a system
> property / JNDI property specify it directly instead of specifying Solr
> Home) and if it doesn't exist we assume a single core whose instanceDir is
> the Solr Home Dir.
>
> This seems pretty straight forward.  The only changes we'd *have* to make
> would be some string literals and some documentation (and svn renaming the
> example multicore.xml).  But we should also consider changing adding a new
> root XML tag in multicore.xml wrapping the existing <multicore> with a
> <solr> ... that would give us a little more flexibility in the future.
>
>
> Suggestion #2: Change solrconfig.xml parsing to understand <multicore>
>
> This one is a little weird, part of me thinks it's really the best way to
> go, but part of me thinks i's really awkward compared to having a solr.xml.
>  The nushell would be that we always look for ./conf/solrconfig.xml first
> and if the root tag is <multicore> we go into MultiCore mode, and if not we
> go into SingleCore mode.
>
> The big advantage here would be that debuging a Solr instance or answering
> questions becomes really straight forward.  Instead of asking "Is there a
> multicore.xml/solr.xml?" and then depending on the answer asking "What does
> ./conf/xolrconfig.xml look like?" the only thing you have to know is "What
> does ./conf/xolrconfig.xml look like?"
>
> The possible downsides:  More changes to code now before the release; A
> somewhat awkward Solr Home directory structure when you are using multiple
> cores (Even if you have different instanceDirs for each core, your main Solr
> Home directory still needs to contain ./conf/ which needs to contain a
> solrconfig.xml); And having one file support two radically different types
> of content.
>
> Most installs probably keep all of their instance dirs in Solr Home, so the
> directory layout of Suggestion#2 doesn't seem too awkward compared to
> Suggestion#1...
>
>    solr-home/                      (Suggestion#1)
>    solr-home/solr.xml              (current multicore.xml)
>    solr-home/instanceDir1/
>    solr-home/instanceDir1/...
>    solr-home/instanceDir2/
>    solr-home/instanceDir2/...
>    solr-home/...
> ...vs...
>    solr-home/                     (Suggestion#2)
>    solr-home/conf/
>    solr-home/conf/solrconfig.xml  (current multicore.xml)
>    solr-home/instanceDir1/
>    solr-home/instanceDir1/...
>    solr-home/instanceDir2/
>    solr-home/instanceDir2/...
>    solr-home/...
>
> ...But i'm sure opinions vary.
>
> What do people think?
> Is this going to confuse new users who come along, and make troubleshooting
> as confusing as I suspect, or am I just being paranoid?
>
> Even if I am being paranoid: is there any downside to Suggestion #1
>
>
>
> -Hoss
>
>

Reply via email to