Update getReplicas to handle range covering multiple hosts

Description

In cases where a range overlaps multiple primary ranges the results of this method are just wrong. ie a getReplicas("keyspace", [0 - 2^64 ]) would just return the replicas for the 2 64 token, while id expect all the hosts since we are asking for the replicas for entire ring.

We can split the token range up by primary ranges for that keyspace and then include the replicas for each range.

Environment

None

Pull Requests

None

Assignee

Unassigned

Reporter

Chris Lohfink

Labels

None

PM Priority

None

Reproduced in

None

Affects versions

None

Fix versions

None

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Priority

Major
Configure