[ 
https://issues.apache.org/jira/browse/SOLR-3755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13564207#comment-13564207
 ] 

Shalin Shekhar Mangar commented on SOLR-3755:
---------------------------------------------

Thinking more about the general strategy that Yonik's devised for this feature, 
here is a rough draft of how it may go.

A split operation is triggered via collections API
* Overseer Collection Processor (CP) creates new sub-shard in ZK in 
"Construction" state s.t. first node to join the shard becomes the leader and 
thereafter leaders are not elected automatically. Replicas are not 
automatically created in the “Construction” state
* CP creates new cores on leader using the core/cloud descriptors of parent 
core. 
** Such cores are automatically designated as leader for respective sub-shard
** These new cores join sub-shards in buffering-update mode and keep themselves 
in that mode until the shard changes its state.
** DUPF on parent forwards only relevant updates to sub-shard core.
* CP calls CoreAdmin split on leader of shard
** A hard commit is called and index is split and written into correct cores
* CP puts shard into Recovery state
** Sub-shard cores go into apply-buffered-updates mode.
** CP puts a watch on sub-shard cores status
* Once sub-shard core status becomes active, Overseer creates replicas and 
watches their state
* Once a number of replicas (ceil(numReplicas/2) is enough?) have recovered for 
all sub-shards, atomically set sub-shard active and parent shard in-active.

Suggestions/comments welcome.
                
> shard splitting
> ---------------
>
>                 Key: SOLR-3755
>                 URL: https://issues.apache.org/jira/browse/SOLR-3755
>             Project: Solr
>          Issue Type: New Feature
>          Components: SolrCloud
>            Reporter: Yonik Seeley
>         Attachments: SOLR-3755.patch, SOLR-3755.patch
>
>
> We can currently easily add replicas to handle increases in query volume, but 
> we should also add a way to add additional shards dynamically by splitting 
> existing shards.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to