[
https://issues.apache.org/jira/browse/SOLR-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16442366#comment-16442366
]
Noble Paul commented on SOLR-11990:
-----------------------------------
The ideal syntax for such a feature would be
{code:java}
//place all replicas of collection 'comment' where collection 'article' is
present
{"replica" :"#ALL", "collection" : "comment", "withCollection" :"article" }
{code}
With this feature
* we expect the collection {{"article"}} to be created first. If {{"article"}}
is not present creation of collection {{"comment"}} must fail
* The collection {{"article"}} must have only one shard
* when {{"comments"}} collection is created, it must first identify nodes
where replicas are going to be created, and then it must go on and create
replicas of {{"article"}} in all those nodes
* When a new replica (or a shard) is created for {{"comment"}} , it must do
the same as create collection
I seriously think it is a lot of work . We will have to change the way the
collection APIs work. The way the rules are computed in the Policy framework
also needs to change specifically for this use case. The APIs are not written
to handle multiple collections simultaneously. I think it will be much easier
if we just make this as a collection attribute and deal it specially there.
That way, we don't have to touch the Policy framework at all
> Make it possible to co-locate replicas of multiple collections together in a
> node using policy
> ----------------------------------------------------------------------------------------------
>
> Key: SOLR-11990
> URL: https://issues.apache.org/jira/browse/SOLR-11990
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Components: AutoScaling, SolrCloud
> Reporter: Shalin Shekhar Mangar
> Assignee: Shalin Shekhar Mangar
> Priority: Major
> Fix For: 7.4, master (8.0)
>
> Attachments: SOLR-11990.patch, SOLR-11990.patch
>
>
> It is necessary to co-locate replicas of different collection together in a
> node when cross-collection joins are performed. The policy rules framework
> should support this use-case.
> Example: Co-locate exactly 1 replica of collection A in each node where a
> replica of collection B is present.
> {code}
> {"replica":">0", "collection":"A", "shard":"#EACH", "withCollection":"B"}
> {code}
> This requires changing create collection, create shard and add replica APIs
> as well because we want a replica of collection A to be created first before
> a replica of collection B is created so that join queries etc are always
> possible.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]