New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize routing according to shards.preference=replica.type #48

Merged
merged 2 commits into from Jul 16, 2018

Conversation

Projects
None yet
1 participant
@magro
Member

magro commented Jul 16, 2018

  • Introduce ShardReplica as specialization of SolrServer

  • Optimize routing according to shards.preference=replica.type

    This adds optimized routing to both RoundRobinLB and FastestServerLB
    taking given replica type preferences into account (expressed via
    shards.preference=replica.type), see also shards.preference docs.

    While Solr would do this already on server side automatically, this can
    save unnecessary additional network roundtrips.

magro added some commits Jul 16, 2018

Introduce `ShardReplica` as specialization of `SolrServer`
This shall make it easier to extend `ShardReplica` with more
functionality.

This simplifies tests by using a custom `Equality` for comparison of
`ShardReplica`s where only url and status are relevant.
Optimize routing according to shards.preference=replica.type
This adds optimized routing to both `RoundRobinLB` and `FastestServerLB`
taking given replica type preferences into account (expressed via
`shards.preference=replica.type`), see also [shards.preference docs](https://lucene.apache.org/solr/guide/7_4/distributed-requests.html#shards-preference-parameter).

While Solr would do this already on server side automatically, this can
save unnecessary additional network roundtrips.

@magro magro merged commit a328e3d into master Jul 16, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment