[ 
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to