murblanc edited a comment on pull request #1684: URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-683433584
> Here is an example of how to have strong typing for each atribute without creating so many different interfaces It's easy to have a single `PropertyValue` interface with all possible getter methods and have all but one return an empty optional. I don't see how that's better. Also I don't want to assume the plugin code knows which node a request should be sent to (i.e. passing the node to `onNode()`). It does know the node for most requests but not all. When requesting data about a given shard or replica for example (say number of docs, or index size), it is not the role of the plugin to find out which node that replica is on to route the request there. I prefer the behind the scenes implementation to do that. [Edit: also, a single fetch call from plugin to fetch all data on all nodes rather than node by node allows request optimization on the implementation side. The most obvious example is using multiple concurrent messages to the different nodes (multithreading or in any other way). If the plugin requests data node by node, it's either sequential or forces the plugin to implement the concurrency mechanism itself, making it more complicated. There are even more ambitious optimizations that can be made on the implementation side if we get all the data to distribute right away, by implementing for example a hierarchical distribution, to reduce the number of messages that have to cross Availability Zones.] ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org