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

Ilan Ginzburg commented on SOLR-14613:
--------------------------------------

I do have the unpleasant impression since I started work on this Jira that 
every step I make is mirrored in a slightly different way elsewhere.
I'd be +sincerely happy+ to stop working on this and do other things. I'd hate 
to invest more time and see the work being duplicated.

I understand the motivation behind SOLR-14680 (Provide simple interfaces to our 
concrete SolrCloud classes) even though I don't agree with the approach as I 
feel there's a fundamental difference between defining internal interfaces and 
making these interfaces visible outside Solr which I feel is a mistake.

In this Jira there are two main aspects:
1. Visibility over cluster state to make placement decisions, with:
-- 1.1 The stuff that usually goes in {{ClusterState}}: nodes, collections, 
shards, replicas,
-- 1.2 More information needed for placement computation: system properties, 
metrics, various stats such as number of cores, disk type etc.
2. Plugins getting requests for placement computation and returning placement 
decisions.


1.1 apparently went to SOLR-14680. My plan was to continue working for now with 
the abstractions I originally created in [PR 
1684|https://github.com/apache/lucene-solr/pull/1684] because I feel they are 
easier to use and more efficient to implement than those in SOLR-14680 and see 
later if there's a need to switch (which should be trivially easy once 
SOLR-14680 is mature enough).

For 1.2, I tried to introduce a strongly typed approach with an efficient fetch 
strategy allowing to both fetch only what's required and do so using a single 
round trip to each remote node.

For item 2, I went with {{Request}} and {{WorkOrder}}, again with a strongly 
typed approach. That's where I was expecting to concentrate my efforts now, 
inventory the Collection API commands and make sure all placement decisions 
(and the relevant data) is available in the plugin framework so that it's 
possible to wire all Collection API placement decisions into plugin calls, and 
make sure plugins have all the data they need to make decisions.

Then would have come the questions of how to replace "triggers" (scheduled and 
condition based job execution). I expected to tackle this once placement is 
solved, since placement is the most urgent.

Should I continue work on these subjects and if so, which part(s)?

TBH I'm tempted to move to other topics and leave replacing Autoscaling to 
others for now.
I don't want to fight.

[~noble.paul] [~ichattopadhyaya] [~ab] as the most invested in Autoscaling.



> Provide a clean API for pluggable replica assignment implementations
> --------------------------------------------------------------------
>
>                 Key: SOLR-14613
>                 URL: https://issues.apache.org/jira/browse/SOLR-14613
>             Project: Solr
>          Issue Type: Improvement
>          Components: AutoScaling
>            Reporter: Andrzej Bialecki
>            Priority: Major
>          Time Spent: 10h 10m
>  Remaining Estimate: 0h
>
> As described in SIP-8 the current autoscaling Policy implementation has 
> several limitations that make it difficult to use for very large clusters and 
> very large collections. SIP-8 also mentions the possible migration path by 
> providing alternative implementations of the placement strategies that are 
> less complex but more efficient in these very large environments.
> We should review the existing APIs that the current autoscaling engine uses 
> ({{SolrCloudManager}} , {{AssignStrategy}} , {{Suggester}} and related 
> interfaces) to see if they provide a sufficient and minimal API for plugging 
> in alternative autoscaling placement strategies, and if necessary refactor 
> the existing APIs.
> Since these APIs are internal it should be possible to do this without 
> breaking back-compat.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to