[GitHub] [lucene-solr] noblepaul commented on pull request #1684: SOLR-14613: strongly typed placement plugin interface and implementation

2020-09-03 Thread GitBox


noblepaul commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-686839493


   I see a consistent theme here. We are always combing through comments with a 
lens to see if the tone is correct, if somebody uses the correct case in typing 
or if the feedback is warm and fuzzy and caring.
   
   While it's a good in general, we miss the whole point of a review and 
feedback. The purpose is to ensure that the feature/change is 
   
   - correct
   - performant/efficient
   - user-friendly
   
   The person who is doing a review is already doing a great favour by spending 
time to do a review. Let's be aware that the PR owner is probably paid to do 
that work and the reviewer is not. So, I have deep respect for anyone who 
reviews my PRs and gives suggestions (@dsmiley ) you are one of the devs who 
review a lot of my PRs and I'm grateful for what you do and you have the nicest 
demeanour while doing it. There are others like Uwe or Muir, who occasionally  
gives me a feedback without being very kind. I'm grateful to them because they 
have spent time to go through my PR using their personal time. They also bring 
a wealth of expertise that I probably don't have.
   
   The fact is, all of has the same objective: to make the product better. We 
are all not paid by the same employer or some of us may not even be paid at 
all. Let's focus more on the content and less on the form. 
   
   cheers.



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1684: SOLR-14613: strongly typed placement plugin interface and implementation

2020-09-03 Thread GitBox


noblepaul commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-686359748


   > By all means, if you disagree so strongly with the approach presented here 
then please do so
   
   I clearly have objections to the verbosity of the proposals here. This does 
not mean that what I propose will be perfect. Nobody can design "the perfect 
system". A perfect system does not exist. I'm trying to give suggestions so 
that we can eliminate those obvious problems.
   
   At this point, two of you are invested in this feature and I totally 
understand your compulsions. 
   
   > The impl. can be barebones, but the API that we define is going to stay 
with us for the next couple years at least, so it pays off to think seriously 
how to do it in an elegant and efficient way.
   
   What I see is a largescale undertaking to rewrite everything that we have in 
Solr . How else will you justify the presence of a class such as this 
https://github.com/apache/lucene-solr/blob/e385e7083bd4e0263e563d3cf0cb53b0e03e/solr/core/src/java/org/apache/solr/cluster/placement/Replica.java
   in  a framework that is designed to just find out nodes to place replicas in 
a cluster?
   
   We do not want to support such a massive framework . 
   I strongly recommend that we do not make duplicates for what we have today 
just for this particular framework. We already have an `AssignStrategy` 
interface. AFAIK, the only place where we have problem is in the 
`NodeStateProvider` . Let's add a method 
`SolrCloudManager#getNodepropertyFetcher()` and a `NodePropertyFetcher` 
interface and start reusing the `AssignStrategy` interface itself. That way we 
do not need any new framework.  Most likely there won't be too many 
implementations of this framework. 
   
   Just in case you wish to load this plugin from packages , My PR (#1684 ) has 
the necessary code to load this prom package. (That's optional at this point)
   



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1684: SOLR-14613: strongly typed placement plugin interface and implementation

2020-09-03 Thread GitBox


noblepaul commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-686327240


   > Here's an example @noblepaul of how your proposal would be used (and if I 
misunderstood something, please correct). nodes are the cluster nodes of 
interest:
   
   
   I'm not writing full PRs here.The objective was to give you hints as to how 
to do things differently .
   
With a little more imagination, the code would look as follows. 
   
   The following could
   
   - make requests in multiple thread
   - minimal code 
   
   ```
   Iterable values =  someFactory.createPropertyFetcher()
   .withSystemProperty("AvailabilityZone")
  .withCoresCount()
   .fetchFromAllNodes()
   ```
   or
   
   ```
   PropertyValues values =  someFactory.createPropertyFetcher()
   .withSystemProperty("AvailabilityZone")
  .withCoresCount()
   .fetchFromNode("nodeName")
   ```
   The common theme I see here is instead of trying to understand the spirit of 
suggestions, you are trying to pick holes in the suggestions. I could as well 
create a full framework and give a PR. Then you would say that "I do not want 
to work on somebody else's design". 



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1684: SOLR-14613: strongly typed placement plugin interface and implementation

2020-09-03 Thread GitBox


noblepaul commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-686321426


   The consistent theme I see here is 
   
   A. Here's is my elegant solution to the problem
   
   B. I think the solution is 
   
   



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1684: SOLR-14613: strongly typed placement plugin interface and implementation

2020-09-03 Thread GitBox


noblepaul commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-686318299


   > don't like an explosion of classes but I think this is highly mitigated by 
them being defined as simple inner classes of one outer class, as Ilan has done.
   
   Yeah, the solution to API surface area problem is to make them inner 
classes/interfaces. This is such a elegant & simple proposition. We should try 
the same in other places in Solr where there is a surface area problem. 



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