KUDU-3532: Fix range aware replica placement bug

An implicit conversion from unsigned long to int caused
an std::length_error to be thrown when a vector tried to
reserve a a size greater than the max size. This happens
when a negative number is converted. This bug was
introduced by changelist [1].

I also added tests with tablet servers in multiple
locations. This omission caused this bug to go
unnoticed until now.

[1] https://github.com/apache/kudu/commit/10fdaf6a9

Change-Id: Id5d696d58965590a9f91f8b1b59f23225bbad8ee
Reviewed-on: http://gerrit.cloudera.org:8080/20781
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <alexey@apache.org>
2 files changed