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

Ilan Ginzburg commented on SOLR-15019:
--------------------------------------

That's a good point. I don't know what actual production problem env variables 
solve that can't be addressed by system properties. If env variables are not 
strictly needed I'd simply remove the ability to use them.

Another option (if we really need environment variables) would be to restrict 
Solr to only access environment variables with a given (hard coded, or 
configured in some other way) prefix that is unlikely to happen by accident. 
All names used by placement code or resolved by handlers would be prefixed 
before being resolved.

> Replica placement API needs a way to fetch existing replica metrics
> -------------------------------------------------------------------
>
>                 Key: SOLR-15019
>                 URL: https://issues.apache.org/jira/browse/SOLR-15019
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Andrzej Bialecki
>            Assignee: Andrzej Bialecki
>            Priority: Major
>             Fix For: main (9.0)
>
>          Time Spent: 9h 20m
>  Remaining Estimate: 0h
>
> Replica placement API was introduced in SOLR-14613. It offers a few sample 
> (and simple) implementations of placement plugins.
> However, this API doesn't offer support for retrieving per-replica metrics, 
> which are required for calculating more realistic placements. For example, 
> when calculating placements for ADDREPLICA on an already existing collection 
> the plugin should know what is the size of replica in order to avoid placing 
> large replicas on nodes with insufficient free disk space.
> After discussing this with [~ilan] we propose the following additions to the 
> API:
> * use the existing {{AttributeFetcher}} interface as a facade for retrieving 
> per-replica values (currently it only retrieves per-node values)
> * add {{ShardValues}} interface to represent strongly-typed API for key 
> metrics, such as replica size, number of docs, number of update and search 
> requests.
> Plugins could then use this API like this:
> {code}
> AttributeFetcher attributeFetcher = ...
> SolrCollection solrCollection = ...
> Set<String> metricNames = ...
> attributeFetcher.requestCollectionMetrics(solrCollection, 
> solrCollection.getShardNames(), metricNames);
> AttributeValues attributeValues = attributeFetcher.fetchAttributes();
> ShardValues shardValues = 
> attributeValues.getShardMetrics(solrCollection.getName(), shardName);
> int sizeInGB = shardValues.getSizeInGB(); // retrieves shard leader metrics
> int replicaSizeInGB = shardValues.getSizeInGB(replica);
> {code} 



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

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

Reply via email to