[ 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 (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org