On Wed, Aug 13, 2008 at 6:22 PM, Grant Ingersoll <[EMAIL PROTECTED]> wrote:
>
> On Aug 13, 2008, at 12:07 AM, Noble Paul നോബിള്‍ नोब्ळ् wrote:
>
>> On Tue, Aug 12, 2008 at 8:39 PM, Grant Ingersoll <[EMAIL PROTECTED]>
>> wrote:
>>>
>>> So, even though this passed in terms of votes, I don't have a real strong
>>> sense that we are "there" yet.
>>>
>>> I especially feel queasy about the multicore stuff and worry about
>>> putting
>>> that into stone, so to speak.  I guess I don't get why a single core is
>>> not
>>> just multicore w/ one core.   For back compatibility, if multicore.xml is
>>> not there, then we know to use a default one.   We also have a single
>>> CoreDescriptor to handle the single case, but the CoreDescriptor
>>> constructor
>>> takes in a Multicore, so we abuse that and pass in null.   I'm not sure
>>> why
>>> a CoreDescriptor needs to have a ref. to the Multicore to begin with.  It
>>> doesn't seem to be used internally.
>>
>> * We need a reference to multicore in CoreDescriptor because that is a
>> simple way to get a reference to the multicore rather than doing a
>> MultiCore.getInstance() (SOLR-638)
>
> That doesn't make it right.  The name of the class implies it describes the
> core, not the Multicore.
>
>>
>> * The question of should the single core be a multicore w/ one core
>> has been debated over and over and somehow we have decided that this
>> is best compromise we can do for backward compatibility. A lot of
>> users do not care about multicore and still go with the plain vanilla
>> single core deployment.
>
> I'll go review the archives, but it doesn't make sense to me.  If anything,
> the singleCoreDescriptor could just be injected into Multicore in the case
> where it is the only core.
>
>
>>
>> * A CoreDescriptor taking a null multicore instance is fine because
>> there is no multicore at all.
>
> Then we should, at a minimum, add a no-arg constructor, or at least document
> it can take null.  Maybe then the name of the class is wrong.  Class names
> are meaningful.  And the name CoreDescriptor doesn't strike me as the place
> to hold Multicore.  Overall, however, this reeks of the bigger problem in
> that we treat 1 core as a special case instead of it being Multicore with
> only a single core.

There is a relationship of 1:n between a MultiCore and CoreDescriptor.
CoreDescriptor holding a reference to MultiCore is holding a reference
to the container like RequestHandlers/SolrIndexSearchers holding a
reference to SolrCore
>
> -Grant



-- 
--Noble Paul

Reply via email to