Merge pull request #19859 from AspirinSJL/fix_locality_key_gen

Fix key gen in locality picking
pull/19900/head
Juanli Shen 6 years ago committed by GitHub
commit 0ed600e0e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/core/ext/filters/client_channel/lb_policy/xds/xds.cc

@ -638,9 +638,8 @@ void XdsLb::PickerWrapper::RecordCallCompletion(
XdsLb::PickResult XdsLb::Picker::Pick(PickArgs args) {
// TODO(roth): Add support for drop handling.
// Generate a random number between 0 and the total weight
const uint32_t key =
(rand() * pickers_[pickers_.size() - 1].first) / RAND_MAX;
// Generate a random number in [0, total weight).
const uint32_t key = rand() % pickers_[pickers_.size() - 1].first;
// Forward pick to whichever locality maps to the range in which the
// random number falls in.
return PickFromLocality(key, args);

Loading…
Cancel
Save