mirror of https://github.com/tikv/client-java.git
parent
7278d5aa1d
commit
f4e7c302ad
|
@ -42,9 +42,11 @@ public class MockThreeStoresTest extends PDMockServerTest {
|
|||
public void setup() throws IOException {
|
||||
super.setup();
|
||||
|
||||
int basePort;
|
||||
try (ServerSocket s = new ServerSocket(0)) {
|
||||
basePort = s.getLocalPort();
|
||||
int[] ports = new int[3];
|
||||
for (int i = 0; i < ports.length; i++) {
|
||||
try (ServerSocket s = new ServerSocket(0)) {
|
||||
ports[i] = s.getLocalPort();
|
||||
}
|
||||
}
|
||||
|
||||
ImmutableList<Metapb.Peer> peers =
|
||||
|
@ -65,17 +67,17 @@ public class MockThreeStoresTest extends PDMockServerTest {
|
|||
stores =
|
||||
ImmutableList.of(
|
||||
Metapb.Store.newBuilder()
|
||||
.setAddress("127.0.0.1:" + basePort)
|
||||
.setAddress("127.0.0.1:" + ports[0])
|
||||
.setVersion("5.0.0")
|
||||
.setId(0x1)
|
||||
.build(),
|
||||
Metapb.Store.newBuilder()
|
||||
.setAddress("127.0.0.1:" + (basePort + 1))
|
||||
.setAddress("127.0.0.1:" + ports[1])
|
||||
.setVersion("5.0.0")
|
||||
.setId(0x2)
|
||||
.build(),
|
||||
Metapb.Store.newBuilder()
|
||||
.setAddress("127.0.0.1:" + (basePort + 2))
|
||||
.setAddress("127.0.0.1:" + ports[2])
|
||||
.setVersion("5.0.0")
|
||||
.setId(0x3)
|
||||
.build());
|
||||
|
@ -101,9 +103,9 @@ public class MockThreeStoresTest extends PDMockServerTest {
|
|||
region.getPeers(0),
|
||||
region.getPeersList(),
|
||||
stores.stream().map(TiStore::new).collect(Collectors.toList()));
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for (int port : ports) {
|
||||
KVMockServer server = new KVMockServer();
|
||||
server.start(this.region, basePort + i);
|
||||
server.start(this.region, port);
|
||||
servers.add(server);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,8 @@ public class PDClientMockTest extends PDMockServerTest {
|
|||
@Test
|
||||
public void testCreate() throws Exception {
|
||||
try (PDClient client = session.getPDClient()) {
|
||||
assertEquals(LOCAL_ADDR + ":" + leader.port, client.getPdClientWrapper().getLeaderInfo());
|
||||
assertEquals(
|
||||
LOCAL_ADDR + ":" + leader.getPort(), client.getPdClientWrapper().getLeaderInfo());
|
||||
assertEquals(CLUSTER_ID, client.getHeader().getClusterId());
|
||||
}
|
||||
}
|
||||
|
@ -55,17 +56,19 @@ public class PDClientMockTest extends PDMockServerTest {
|
|||
@Test
|
||||
public void testSwitchLeader() throws Exception {
|
||||
try (PDClient client = session.getPDClient()) {
|
||||
client.trySwitchLeader(HTTP + LOCAL_ADDR + ":" + (leader.port + 1));
|
||||
// Switch leader to server 1
|
||||
client.trySwitchLeader(HTTP + LOCAL_ADDR + ":" + pdServers.get(1).getPort());
|
||||
assertEquals(
|
||||
client.getPdClientWrapper().getLeaderInfo(), HTTP + LOCAL_ADDR + ":" + (leader.port + 1));
|
||||
client.getPdClientWrapper().getLeaderInfo(),
|
||||
HTTP + LOCAL_ADDR + ":" + pdServers.get(1).getPort());
|
||||
}
|
||||
tearDown();
|
||||
setup(LOCAL_ADDR_IPV6);
|
||||
try (PDClient client = session.getPDClient()) {
|
||||
client.trySwitchLeader(HTTP + LOCAL_ADDR_IPV6 + ":" + (leader.port + 2));
|
||||
client.trySwitchLeader(HTTP + LOCAL_ADDR_IPV6 + ":" + pdServers.get(2).getPort());
|
||||
assertEquals(
|
||||
client.getPdClientWrapper().getLeaderInfo(),
|
||||
HTTP + LOCAL_ADDR_IPV6 + ":" + (leader.port + 2));
|
||||
HTTP + LOCAL_ADDR_IPV6 + ":" + pdServers.get(2).getPort());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,7 @@ import org.tikv.kvproto.Pdpb.TsoRequest;
|
|||
import org.tikv.kvproto.Pdpb.TsoResponse;
|
||||
|
||||
public class PDMockServer extends PDGrpc.PDImplBase {
|
||||
|
||||
public int port;
|
||||
private int port;
|
||||
private long clusterId;
|
||||
private Server server;
|
||||
|
||||
|
@ -148,4 +147,8 @@ public class PDMockServer extends PDGrpc.PDImplBase {
|
|||
public long getClusterId() {
|
||||
return clusterId;
|
||||
}
|
||||
|
||||
public long getPort() {
|
||||
return port;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,28 +38,30 @@ public abstract class PDMockServerTest {
|
|||
}
|
||||
|
||||
void setup(String addr) throws IOException {
|
||||
int basePort;
|
||||
try (ServerSocket s = new ServerSocket(0)) {
|
||||
basePort = s.getLocalPort();
|
||||
int[] ports = new int[3];
|
||||
for (int i = 0; i < ports.length; i++) {
|
||||
try (ServerSocket s = new ServerSocket(0)) {
|
||||
ports[i] = s.getLocalPort();
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for (int i = 0; i < ports.length; i++) {
|
||||
PDMockServer server = new PDMockServer();
|
||||
server.start(CLUSTER_ID, basePort + i);
|
||||
server.start(CLUSTER_ID, ports[i]);
|
||||
server.addGetMembersListener(
|
||||
(request) ->
|
||||
GrpcUtils.makeGetMembersResponse(
|
||||
server.getClusterId(),
|
||||
GrpcUtils.makeMember(1, "http://" + addr + ":" + basePort),
|
||||
GrpcUtils.makeMember(2, "http://" + addr + ":" + (basePort + 1)),
|
||||
GrpcUtils.makeMember(3, "http://" + addr + ":" + (basePort + 2))));
|
||||
GrpcUtils.makeMember(1, "http://" + addr + ":" + ports[0]),
|
||||
GrpcUtils.makeMember(2, "http://" + addr + ":" + ports[1]),
|
||||
GrpcUtils.makeMember(3, "http://" + addr + ":" + ports[2])));
|
||||
pdServers.add(server);
|
||||
if (i == 0) {
|
||||
leader = server;
|
||||
}
|
||||
}
|
||||
|
||||
TiConfiguration conf = TiConfiguration.createDefault(addr + ":" + leader.port);
|
||||
TiConfiguration conf = TiConfiguration.createDefault(addr + ":" + ports[0]);
|
||||
conf.setKvMode("RAW");
|
||||
conf.setWarmUpEnable(false);
|
||||
conf.setTimeout(2000);
|
||||
|
|
|
@ -28,7 +28,6 @@ import org.tikv.kvproto.Pdpb;
|
|||
import org.tikv.raw.RawKVClient;
|
||||
|
||||
public class SeekLeaderStoreTest extends MockThreeStoresTest {
|
||||
|
||||
private RawKVClient createClient() {
|
||||
return session.createRawClient();
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ import org.tikv.common.KVMockServer.State;
|
|||
import org.tikv.raw.RawKVClient;
|
||||
|
||||
public class SeekProxyStoreTest extends MockThreeStoresTest {
|
||||
|
||||
private RawKVClient createClient() {
|
||||
return session.createRawClient();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue