From 10d8efbbc451ea83e94c7a96613e62f131b8e80b Mon Sep 17 00:00:00 2001 From: birdstorm Date: Sat, 20 Feb 2021 15:36:54 +0800 Subject: [PATCH] update kvproto version (#128) Signed-off-by: birdstorm --- scripts/proto.sh | 2 +- src/main/java/org/tikv/common/region/TiRegion.java | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/proto.sh b/scripts/proto.sh index 6d26fb34e1..14f6f45c23 100755 --- a/scripts/proto.sh +++ b/scripts/proto.sh @@ -18,7 +18,7 @@ CURRENT_DIR=`pwd` TIKV_CLIENT_HOME="$(cd "`dirname "$0"`"/..; pwd)" cd $TIKV_CLIENT_HOME -kvproto_hash=2cf9a243b8d589f345de1dbaa9eeffec6afbdc06 +kvproto_hash=b2375dcc80adc9c9423bd010592c045241f29d5a raft_rs_hash=b9891b673573fad77ebcf9bbe0969cf945841926 diff --git a/src/main/java/org/tikv/common/region/TiRegion.java b/src/main/java/org/tikv/common/region/TiRegion.java index 0171ffad07..7707cbd515 100644 --- a/src/main/java/org/tikv/common/region/TiRegion.java +++ b/src/main/java/org/tikv/common/region/TiRegion.java @@ -118,23 +118,26 @@ public class TiRegion implements Serializable { return meta.getPeers(followerIdx); } + private boolean isValidFollower(Peer peer) { + return Metapb.PeerRole.valueOf(peer.getRole().getValueDescriptor()) == Metapb.PeerRole.Voter; + } + private void chooseRandomFollower() { int cnt = meta.getPeersCount(); followerIdx = new Random().nextInt(cnt); for (int retry = cnt - 1; retry > 0; retry--) { followerIdx = (followerIdx + 1) % cnt; Peer cur = meta.getPeers(followerIdx); - if (cur.getIsLearner()) { - continue; + if (isValidFollower(cur)) { + return; } - return; } } public List getLearnerList() { List peers = new ArrayList<>(); for (Peer peer : getMeta().getPeersList()) { - if (peer.getIsLearner()) { + if (isValidFollower(peer)) { peers.add(peer); } }