[jira] [Commented] (SOLR-11522) Suggestions/recommendations to rebalance replicas

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (SOLR-11522) Suggestions/recommendations to rebalance replicas

JIRA jira@apache.org

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

David Smiley commented on SOLR-11522:

Memory efficiency and streaming and serialization and interfaces is all well and good -- I think those goals were already met prior to these get methods.

Here's one specific reason why I feel the design is off:  MapWriter is fundamentally about something that can write itself to a Map -- and it's javadocs confirm this obvious point.  But "get" methods are not in line with that; get methods suggest the current object *is* a Map.  Yet how could these get methods even work at all right now?  (as I asked myself in disbelief)  It's very non-obvious but after chasing through the rabbit, hole I'm led to Utils.getVal(Object obj, String key, int idx)  (line 491) which does a MapWriter instanceof check then proceeds to call writeMap in order to find the particular key that matches.  Yuck!  And of course this is {{O(N)}}.

[~hossman] do you have any opinions here?

> Suggestions/recommendations to rebalance replicas
> -------------------------------------------------
>                 Key: SOLR-11522
>                 URL: https://issues.apache.org/jira/browse/SOLR-11522
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: AutoScaling
>            Reporter: Noble Paul
>            Priority: Major
> It is possible that a cluster is unbalanced even if it is not breaking any of the policy rules. Some nodes may have very little load while some others may be heavily loaded. So, it is possible to move replicas around so that the load is more evenly distributed. This is going to be driven by preferences. The way we arrive at these suggestions is going to be as follows
>  # Sort the nodes according to the given preferences
>  # Choose a replica from the most loaded node ({{source-node}}) 
>  # try adding them to the least loaded node ({{target-node}})
>  # See if it breaks any policy rules. If yes , try another {{target-node}} (go to #3)
>  # If no policy rules are being broken, present this as a {{suggestion}} . The suggestion contains the following information
>  #* The {{source-node}} and {{target-node}} names
>  #* The actual v2 command that can be run to effect the operation
>  # Go to step #1
>  # Do this until the a replicas can be moved in such a way that the {{target node}} is more loaded than the {{source-node}}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]