[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188475#comment-14188475 ] Noble Paul commented on SOLR-6517: -- Please mention the JIRA ticket number in the commit message . It is extremely difficult otherwise when I look at the file history > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188559#comment-14188559 ] Noble Paul commented on SOLR-6517: -- I'm trying to understand how the REBALANCLEADERS command work. Is there is a small writeup on the sequence of operations performed when this command is invoked > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188690#comment-14188690 ] Erick Erickson commented on SOLR-6517: -- There's some information here: https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-RebalanceLeaders Basically, though, it just queues up Overseer.OverseerAction.LEADER commands. There's a little bit of overloading here. CollectionsHandler.handleBalanceLeaders does the throttling of how many outstanding requests there are, and OverseerCollectionsProcessor.processAssignLeaders just queues up a Overseer.OverseerAction.LEADER.toLower() call for the Overseer to execute. Yeah, as the notes above indicate I'm perfectly aware that I should mention the JIRA in the message, just managed to forget once. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188703#comment-14188703 ] Noble Paul commented on SOLR-6517: -- how is the leader election changed? How does it ensure that the "preferredLeader" gets elected? > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188733#comment-14188733 ] Erick Erickson commented on SOLR-6517: -- First, there aren't any guarantees here, it tries its best. For instance, the node may be down etc... Barring that though, it's pretty straightforward. The meat of the processing is in collecitonsHandler.handleBalanceLeaders. get the DocCollection from the cluster state. for each slice { for each replica { if (the replica is active and NOT the leader and has the preferredLeader property set) queue it up to become the leader } } There's some bookkeeping here to respect the various parameters about how many to reassign at once and how long to wait (maxAtOnce and maxWaitSeconds) as well as construct a pretty response giving all the info it can. This latter is one benefit of the heavy lifting being in collectionsHandler rather than over in the Overseer. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188746#comment-14188746 ] Noble Paul commented on SOLR-6517: -- bq. (the replica is active and NOT the leader and has the preferredLeader property set) queue it up to become the leader What happens to the node that is leader already? evicted? What happens to other nodes in the queue? > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188976#comment-14188976 ] Erick Erickson commented on SOLR-6517: -- bq: What happens to the node that is leader already? nothing, it's already the leader, what purpose would be served by changing anything? bq: What happens to other nodes in the queue? Not sure what you're asking here. The trick is that if a replica has the preferredLeader property set LeaderElector.joinElection is called with joinAtHead set to true. So it's next up in the list when the leadership is changed. The rest of the nodes are still in the queue though, ready to take over if the preferredLeader goes away. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14189635#comment-14189635 ] Noble Paul commented on SOLR-6517: -- Sorry for being a pain in the butt I'm exactly looking LeaderElector.joinElection for that call and I don't see where it is done. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14189661#comment-14189661 ] Erick Erickson commented on SOLR-6517: -- Well, I didn't tell you ;). Actually, I'm glad someone with more experience here is looking It's a little subtle in that it has nothing to do with REBALANCELEADERS, it's done at core registration time. The side effect here is that the cluster will tend to the desired state on that basis alone. It may even be that the sledgehammer of REBALANCELEADERS is made less necessary. Anyway, look in ZkController.register... // If we're a preferred leader, insert ourselves at the head of the queue boolean joinAtHead = false; Replica replica = zkStateReader.getClusterState().getReplica(desc.getCloudDescriptor().getCollectionName(), coreZkNodeName); if (replica != null) { joinAtHead = replica.getBool(Overseer.preferredLeaderProp, false); } joinElection(desc, afterExpiration, joinAtHead); > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14189750#comment-14189750 ] Noble Paul commented on SOLR-6517: -- Thanks, got it. So what is the command REBALANCELEADERS doing ? > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14189752#comment-14189752 ] Noble Paul commented on SOLR-6517: -- Why can't I specify a 'slice' only to rebalance? > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14190168#comment-14190168 ] Erick Erickson commented on SOLR-6517: -- bq: So what is the command REBALANCELEADERS doing ? Perhaps nothing if all the nodes with preferredLeader=true are already leaders. But just because a node inserts itself at the head of the queue does _not_ mean its the leader, that operation puts it just after the current leader, i.e. "next in line". It'll only become the leader at if the current leader goes down for some reason. So REBALANCELEADERS will cause any shard where the current leader is not the preferredLeader to re-elect leadership. bq: Why can't I specify a 'slice' only to rebalance? No technical reason at all. I didn't need that capability, my specific task was on a collection-wide basis. There's no reason that couldn't be an optional parameter though, it'd be simple to do so feel free if there's a real-world use-case you need to support. But for the situation I'm looking at, there may be 10s to 100s of slices, so it'd be tedious to do them one at a time, not to mention error-prone. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14193752#comment-14193752 ] Noble Paul commented on SOLR-6517: -- bq.So REBALANCELEADERS will cause any shard where the current leader is not the preferredLeader to re-elect leadership. As I see in the code code it just sends a message to overseer to change the leader of the shard. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14193930#comment-14193930 ] Erick Erickson commented on SOLR-6517: -- Yep. I'm not sure what you're concerned about. Do you see a problem? REBALANCELEADERS does, indeed, do just that, there's no real magic here. Look at the code in ZkController.register if you're wondering how preferredLeaders join at the head of the queue. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194476#comment-14194476 ] Noble Paul commented on SOLR-6517: -- Yes, there is a problem, it will not work, Ideally you should trigger the re-lection process by invoking joinElection() with joinAtHead=true . That is what the OVERSEERROLE command does > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194635#comment-14194635 ] Erick Erickson commented on SOLR-6517: -- Well, it's worked in every test, both manual and automated that I've run so far. Do you have a failure that demonstrates this? Maybe a mismatch in expectations? REBALANCELEADERS does _not_, and was not designed to, force the rebalancing immediately for nodes that do not have the preferredLeader property already set. It simply makes leaders out of those nodes that _already_ have the preferredLeader property set and are not currently the leader. So to rebalance the leaders across the cluster, you first need to BALANCESHARDUNIQUE with the preferredLeader property and _then_ issue the REBALANCELEADERS command. That way it's not required that the entire cluster be balanced, you can selectively assign _some_ preferredLeaders if you want. Or am I missing the boat completely? How do you see it "not working"? > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194644#comment-14194644 ] Noble Paul commented on SOLR-6517: -- >From the code , what I see is , a message is sent to overseer to change the >leader. But there is not action performed to change the actual election queue. >The role in the clusterstate is just a reflection of what should be there in >the election queue and not the other way around. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194701#comment-14194701 ] Noble Paul commented on SOLR-6517: -- Unfortunately, solrcloud failures are hard to reproduce and fix. We need to put extra care while making changes to cloud . I've spent weeks debugging three overseer roles feature because it only failed in our 120 node cluster (never in the junit tests) > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194761#comment-14194761 ] Erick Erickson commented on SOLR-6517: -- Gah. OK, the fact that the state information isn't reflective of the actual state is what was throwing me. Let's move any further discussion over to SOLR-6691 (which I just created). I've tried to synopsize the discussion in that JIRA. Thanks for your patience in explaining, mucking around in the cloud state kinda scares me... apparently for good reason. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14175217#comment-14175217 ] ASF subversion and git services commented on SOLR-6517: --- Commit 1632628 from [~erickoerickson] in branch 'dev/branches/branch_5x' [ https://svn.apache.org/r1632628 ] SOLR-6517: CollectionsAPI call REBALANCELEADERS > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-6517) CollectionsAPI call REBALANCELEADERS
[ https://issues.apache.org/jira/browse/SOLR-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14175218#comment-14175218 ] Erick Erickson commented on SOLR-6517: -- Forgot to mention the JIRA when I committed the trunk version. SVN revision for trunk is: 1632594 . I _thought_ the -m param on commit looked a little wrong Siiigggh. > CollectionsAPI call REBALANCELEADERS > > > Key: SOLR-6517 > URL: https://issues.apache.org/jira/browse/SOLR-6517 > Project: Solr > Issue Type: New Feature >Affects Versions: 5.0, Trunk >Reporter: Erick Erickson >Assignee: Erick Erickson > Fix For: 5.0, Trunk > > Attachments: SOLR-6517.patch, SOLR-6517.patch, SOLR-6517.patch > > > Perhaps the final piece of SOLR-6491. Once the preferred leadership roles are > assigned, there has to be a command "make it so Mr. Solr". This is something > of a placeholder to collect ideas. One wouldn't want to flood the system with > hundreds of re-assignments at once. Should this be synchronous or asnych? > Should it make the best attempt but not worry about perfection? Should it??? > a collection=name parameter would be required and it would re-elect all the > leaders that were on the 'wrong' node > I'm thinking an optionally allowing one to specify a shard in the case where > you wanted to make a very specific change. Note that there's no need to > specify a particular replica, since there should be only a single > preferredLeader per slice. > This command would do nothing to any slice that did not have a replica with a > preferredLeader role. Likewise it would do nothing if the slice in question > already had the leader role assigned to the node with the preferredLeader > role. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org