Search in sources :

Example 1 with StatusResponse

use of io.etcd.jetcd.maintenance.StatusResponse in project jetcd by coreos.

the class MaintenanceTest method testMoveLeader.

// @Test
public void testMoveLeader() throws ExecutionException, InterruptedException {
    URI leaderEndpoint = null;
    List<Long> followers = new ArrayList<>();
    for (URI ep : endpoints) {
        StatusResponse statusResponse = maintenance.statusMember(ep).get();
        long memberId = statusResponse.getHeader().getMemberId();
        if (memberId == statusResponse.getLeader()) {
            leaderEndpoint = ep;
            continue;
        }
        followers.add(memberId);
    }
    if (leaderEndpoint == null) {
        fail("leader not found");
    }
    try (Client client = Client.builder().endpoints(leaderEndpoint).build()) {
        client.getMaintenanceClient().moveLeader(followers.get(0)).get();
    }
}
Also used : AtomicLong(java.util.concurrent.atomic.AtomicLong) ArrayList(java.util.ArrayList) StatusResponse(io.etcd.jetcd.maintenance.StatusResponse) Client(io.etcd.jetcd.Client) URI(java.net.URI)

Example 2 with StatusResponse

use of io.etcd.jetcd.maintenance.StatusResponse in project jetcd by coreos.

the class MaintenanceTest method testStatusMember.

@Test
public void testStatusMember() throws ExecutionException, InterruptedException {
    StatusResponse statusResponse = maintenance.statusMember(endpoints.get(0)).get();
    assertThat(statusResponse.getDbSize()).isGreaterThan(0);
}
Also used : StatusResponse(io.etcd.jetcd.maintenance.StatusResponse) Test(org.junit.jupiter.api.Test)

Aggregations

StatusResponse (io.etcd.jetcd.maintenance.StatusResponse)2 Client (io.etcd.jetcd.Client)1 URI (java.net.URI)1 ArrayList (java.util.ArrayList)1 AtomicLong (java.util.concurrent.atomic.AtomicLong)1 Test (org.junit.jupiter.api.Test)1