mirror of https://github.com/tikv/client-java.git
Fix pd retry not recovered for 60s (#182)
Signed-off-by: birdstorm <samuelwyf@hotmail.com>
This commit is contained in:
parent
98f0c131d0
commit
f76a267f5b
|
@ -418,7 +418,7 @@ public class PDClient extends AbstractGRPCClient<PDBlockingStub, PDStub>
|
||||||
return createLeaderWrapper(leaderUrlStr);
|
return createLeaderWrapper(leaderUrlStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean createLeaderWrapper(String leaderUrlStr) {
|
private synchronized boolean createLeaderWrapper(String leaderUrlStr) {
|
||||||
try {
|
try {
|
||||||
URI newLeader = addrToUri(leaderUrlStr);
|
URI newLeader = addrToUri(leaderUrlStr);
|
||||||
leaderUrlStr = uriToAddr(newLeader);
|
leaderUrlStr = uriToAddr(newLeader);
|
||||||
|
|
|
@ -73,6 +73,7 @@ public class PDErrorHandler<RespT> implements ErrorHandler<RespT> {
|
||||||
@Override
|
@Override
|
||||||
public boolean handleRequestError(BackOffer backOffer, Exception e) {
|
public boolean handleRequestError(BackOffer backOffer, Exception e) {
|
||||||
backOffer.doBackOff(BackOffFunction.BackOffFuncType.BoPDRPC, e);
|
backOffer.doBackOff(BackOffFunction.BackOffFuncType.BoPDRPC, e);
|
||||||
|
client.updateLeader();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class PDMockServer extends PDGrpc.PDImplBase {
|
||||||
@Override
|
@Override
|
||||||
public void getMembers(GetMembersRequest request, StreamObserver<GetMembersResponse> resp) {
|
public void getMembers(GetMembersRequest request, StreamObserver<GetMembersResponse> resp) {
|
||||||
try {
|
try {
|
||||||
resp.onNext(getMembersResp.removeFirst().get());
|
resp.onNext(getMembersResp.getFirst().get());
|
||||||
resp.onCompleted();
|
resp.onCompleted();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
resp.onError(Status.INTERNAL.asRuntimeException());
|
resp.onError(Status.INTERNAL.asRuntimeException());
|
||||||
|
|
Loading…
Reference in New Issue