public LoadBalancingPolicy getLoadBalancingPolicy() { if (this.loadBalancingPolicyName.equals(TokenAwarePolicy.class.getSimpleName())) { return new TokenAwarePolicy(new RoundRobinPolicy()); } if (this.loadBalancingPolicyName.equals(DCAwareRoundRobinPolicy.class.getSimpleName())) { Builder builder = DCAwareRoundRobinPolicy.builder(); if (StringUtils.isNotBlank(datacenterName)) { builder = builder.withLocalDc(this.datacenterName); } return new TokenAwarePolicy(builder.build()); } throw new IllegalArgumentException("Unknown cassandra load balancing policy " + this.loadBalancingPolicyName); }
clusterBuilder.withRetryPolicy(config.getRetryPolicy().getPolicy()); LoadBalancingPolicy loadPolicy = new RoundRobinPolicy();
m_writeLoadBalancingPolicy = new TokenAwarePolicy((m_clusterConfiguration.getLocalDCName() == null) ? new RoundRobinPolicy() : DCAwareRoundRobinPolicy.builder().withLocalDc(m_clusterConfiguration.getLocalDCName()).build(), TokenAwarePolicy.ReplicaOrdering.TOPOLOGICAL); TokenAwarePolicy readLoadBalancePolicy = new TokenAwarePolicy((m_clusterConfiguration.getLocalDCName() == null) ? new RoundRobinPolicy() : DCAwareRoundRobinPolicy.builder().withLocalDc(m_clusterConfiguration.getLocalDCName()).build(), TokenAwarePolicy.ReplicaOrdering.RANDOM);
public CustomLoadBalancingPolicy() { super(new RoundRobinPolicy()); }
/** * Ensures that {@link WhiteListPolicy#ofHosts(LoadBalancingPolicy, String...)} throws an {@link * IllegalArgumentException} if a name could not be resolved. * * @test_category load_balancing:white_list */ @Test(groups = "unit", expectedExceptions = IllegalArgumentException.class) public void should_throw_IAE_if_name_could_not_be_resolved() { WhiteListPolicy.ofHosts(new RoundRobinPolicy(), "a.b.c.d.e.f.UNRESOLVEABLE"); }
/** * Ensures that {@link WhiteListPolicy#ofHosts(LoadBalancingPolicy, String...)} throws a {@link * NullPointerException} if a name provided is null. * * @test_category load_balancing:white_list */ @Test(groups = "unit", expectedExceptions = NullPointerException.class) public void should_throw_NPE_if_null_provided() { WhiteListPolicy.ofHosts(new RoundRobinPolicy(), null, null); }
@Override public Cluster.Builder createClusterBuilder() { // Only connect to node 1, which makes it easier to query system tables in // should_expose_tokens_per_host() LoadBalancingPolicy lbp = new WhiteListPolicy(new RoundRobinPolicy(), Collections.singleton(ccm().addressOfNode(1))); return Cluster.builder() .addContactPoints(getContactPoints().get(0)) .withPort(ccm().getBinaryPort()) .withLoadBalancingPolicy(lbp); }
/** * @return a {@link Cluster} instance that connects only to the control host of the given cluster. */ public static Cluster buildControlCluster(Cluster cluster, CCMAccess ccm) { Host controlHost = cluster.manager.controlConnection.connectedHost(); List<InetSocketAddress> singleAddress = Collections.singletonList(controlHost.getSocketAddress()); return Cluster.builder() .addContactPoints(controlHost.getSocketAddress().getAddress()) .withPort(ccm.getBinaryPort()) .withLoadBalancingPolicy(new WhiteListPolicy(new RoundRobinPolicy(), singleAddress)) .build(); }
/** * Ensures that when a cluster is initialized that {@link LoadBalancingPolicy#init(Cluster, * Collection)} is called with each reachable contact point. * * @test_category load_balancing:notification * @expected_result init() is called for each of two contact points. */ @Test(groups = "short") public void should_init_policy_with_up_contact_points() throws Exception { HistoryPolicy policy = new HistoryPolicy(new RoundRobinPolicy()); Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withLoadBalancingPolicy(policy) .build()); try { cluster.init(); assertThat(policy.history) .containsOnly( entry(INIT, TestUtils.findHost(cluster, 1)), entry(INIT, TestUtils.findHost(cluster, 2))); } finally { cluster.close(); } }
.addContactPointsWithPorts(sCluster.address(3)) .withPort(sCluster.getBinaryPort()) .withLoadBalancingPolicy(new WhiteListPolicy(new RoundRobinPolicy(), whiteList)) .withNettyOptions(nonQuietClusterCloseOptions) .build();
primingClient.prime(queryBuilder().withQuery(query).build()); LatencyAwarePolicy latencyAwarePolicy = LatencyAwarePolicy.builder(new RoundRobinPolicy()).withMininumMeasurements(1).build(); Cluster.Builder builder = super.createClusterBuilder(); builder.withLoadBalancingPolicy(latencyAwarePolicy);
.withPort(ccm.getBinaryPort()) .withNettyOptions(nonQuietClusterCloseOptions) .withLoadBalancingPolicy(new TokenAwarePolicy(new RoundRobinPolicy())) .build();
queryBuilder().withQuery(query).withThen(then().withResult(unavailable)).build()); LatencyAwarePolicy latencyAwarePolicy = LatencyAwarePolicy.builder(new RoundRobinPolicy()).withMininumMeasurements(1).build(); Cluster.Builder builder = super.createClusterBuilder(); builder.withLoadBalancingPolicy(latencyAwarePolicy);
LatencyAwarePolicy.builder(new RoundRobinPolicy()).withMininumMeasurements(1).build(); Cluster.Builder builder = super.createClusterBuilder(); builder.withLoadBalancingPolicy(latencyAwarePolicy);
@Test(groups = "long") public void should_use_connection_from_reconnection_in_pool() { TogglabePolicy loadBalancingPolicy = new TogglabePolicy(new RoundRobinPolicy());
.addContactPoints(sCluster.address(1).getAddress()) .withPort(sCluster.getBinaryPort()) .withLoadBalancingPolicy(new RoundRobinPolicy()) .withNettyOptions(nonQuietClusterCloseOptions) .build();
.addContactPoints(sCluster.address(1).getAddress()) .withPort(sCluster.getBinaryPort()) .withLoadBalancingPolicy(new RoundRobinPolicy()) .withNettyOptions(nonQuietClusterCloseOptions) .build();
new RoundRobinPolicy(), sCluster.address(1).getHostName(), sCluster.address(4).getHostName());
.withPort(sCluster.getBinaryPort()) .withNettyOptions(nonQuietClusterCloseOptions) .withLoadBalancingPolicy(new TokenAwarePolicy(new RoundRobinPolicy())) .build();
@CCMConfig(dirtiesContext = true, createCluster = false) @Test(groups = "long") public void should_trigger_one_time_reconnect() throws InterruptedException, IOException { TogglabePolicy loadBalancingPolicy = new TogglabePolicy(new RoundRobinPolicy()); Cluster cluster = register(