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

Reply via email to