Search in sources :

Example 1 with BROKER_1_CLIENT_ADDRESS

use of io.zeebe.broker.it.clustering.ClusteringRule.BROKER_1_CLIENT_ADDRESS in project zeebe by zeebe-io.

the class TopologyRequestTest method shouldUpdateClientTopologyOnAsyncTopologyRequest.

@Test
public void shouldUpdateClientTopologyOnAsyncTopologyRequest() {
    // given
    final SocketAddress oldLeader = BROKER_1_CLIENT_ADDRESS;
    // when
    final List<Integer> partitions = clusteringRule.getBrokersLeadingPartitions(oldLeader);
    clusteringRule.brokers.remove(oldLeader).close();
    doRepeatedly(this::requestTopologyAsync).until(topologyBrokers -> topologyBrokers != null && topologyBrokers.stream().filter(broker -> !broker.getSocketAddress().equals(oldLeader)).flatMap(broker -> broker.getPartitions().stream()).filter(BrokerPartitionState::isLeader).map(BrokerPartitionState::getPartitionId).collect(Collectors.toSet()).containsAll(partitions));
    // then
    zeebeClient.topics().create("foo", 1).execute();
}
Also used : TestUtil.waitUntil(io.zeebe.test.util.TestUtil.waitUntil) TopologyBroker(io.zeebe.client.clustering.impl.TopologyBroker) TopologyResponse(io.zeebe.client.clustering.impl.TopologyResponse) Test(org.junit.Test) Collectors(java.util.stream.Collectors) BROKER_1_CLIENT_ADDRESS(io.zeebe.broker.it.clustering.ClusteringRule.BROKER_1_CLIENT_ADDRESS) TestUtil.doRepeatedly(io.zeebe.test.util.TestUtil.doRepeatedly) ZeebeClient(io.zeebe.client.ZeebeClient) BrokerPartitionState(io.zeebe.client.clustering.impl.BrokerPartitionState) RuleChain(org.junit.rules.RuleChain) ClientRule(io.zeebe.broker.it.ClientRule) List(java.util.List) Future(java.util.concurrent.Future) SocketAddress(io.zeebe.transport.SocketAddress) Rule(org.junit.Rule) Timeout(org.junit.rules.Timeout) AutoCloseableRule(io.zeebe.test.util.AutoCloseableRule) Before(org.junit.Before) BrokerPartitionState(io.zeebe.client.clustering.impl.BrokerPartitionState) SocketAddress(io.zeebe.transport.SocketAddress) Test(org.junit.Test)

Aggregations

ClientRule (io.zeebe.broker.it.ClientRule)1 BROKER_1_CLIENT_ADDRESS (io.zeebe.broker.it.clustering.ClusteringRule.BROKER_1_CLIENT_ADDRESS)1 ZeebeClient (io.zeebe.client.ZeebeClient)1 BrokerPartitionState (io.zeebe.client.clustering.impl.BrokerPartitionState)1 TopologyBroker (io.zeebe.client.clustering.impl.TopologyBroker)1 TopologyResponse (io.zeebe.client.clustering.impl.TopologyResponse)1 AutoCloseableRule (io.zeebe.test.util.AutoCloseableRule)1 TestUtil.doRepeatedly (io.zeebe.test.util.TestUtil.doRepeatedly)1 TestUtil.waitUntil (io.zeebe.test.util.TestUtil.waitUntil)1 SocketAddress (io.zeebe.transport.SocketAddress)1 List (java.util.List)1 Future (java.util.concurrent.Future)1 Collectors (java.util.stream.Collectors)1 Before (org.junit.Before)1 Rule (org.junit.Rule)1 Test (org.junit.Test)1 RuleChain (org.junit.rules.RuleChain)1 Timeout (org.junit.rules.Timeout)1