LoadBalancingPolicy loadBalancingPolicy() { return configuration.getPolicies().getLoadBalancingPolicy(); }
private void poolingMonitoring(PoolingOptions poolingOptions) { final LoadBalancingPolicy loadBalancingPolicy = cluster.getConfiguration().getPolicies().getLoadBalancingPolicy(); ScheduledExecutorService scheduled = Executors.newScheduledThreadPool(1); scheduled.scheduleAtFixedRate((Runnable) () -> { Session.State state = session.getState(); for (Host host : state.getConnectedHosts()) { HostDistance distance = loadBalancingPolicy.distance(host); int connections = state.getOpenConnections(host); int inFlightQueries = state.getInFlightQueries(host); LOGGER.info("{} connections={}, current load={}, max load={}", host, connections, inFlightQueries, connections * poolingOptions.getMaxRequestsPerConnection(distance)); } }, 5, 5, TimeUnit.SECONDS); } }
Assert.assertEquals(configuration.getPoolingOptions() .getMaxRequestsPerConnection(distance), 128); Assert.assertEquals(configuration.getPolicies().getLoadBalancingPolicy().getClass().getName(), TAP); Assert.assertEquals(configuration.getPolicies().getReconnectionPolicy().getClass().getName(), CRP); Assert.assertEquals(configuration.getPolicies().getRetryPolicy().getClass().getName(), LRTP);
Assert.assertEquals(configuration.getPoolingOptions() .getMaxRequestsPerConnection(distance), 128); Assert.assertEquals(configuration.getPolicies().getLoadBalancingPolicy().getClass().getName(), LatencyAwarePolicy.class.getName()); Assert.assertEquals(configuration.getPolicies().getReconnectionPolicy().getClass().getName(), CRP);
.getMaxRequestsPerConnection(distance), 128); Assert.assertEquals(configuration.getPolicies().getLoadBalancingPolicy().getClass().getName(), DRRP); Assert.assertEquals(configuration.getPolicies().getReconnectionPolicy().getClass().getName(), CRP); Assert.assertEquals(configuration.getPolicies().getRetryPolicy().getClass().getName(), DCRP);
.getMaxRequestsPerConnection(distance), 128); Assert.assertEquals(configuration.getPolicies().getLoadBalancingPolicy().getClass().getName(), RRP); Assert.assertEquals(configuration.getPolicies().getReconnectionPolicy().getClass().getName(), ERP); Assert.assertEquals(configuration.getPolicies().getRetryPolicy().getClass().getName(), DCRP);
.getMaxRequestsPerConnection(distance), 128); Assert.assertEquals(configuration.getPolicies().getLoadBalancingPolicy().getClass().getName(), RRP); Assert.assertEquals(configuration.getPolicies().getReconnectionPolicy().getClass().getName(), ERP); Assert.assertEquals(configuration.getPolicies().getRetryPolicy().getClass().getName(), DCRP);
LoadBalancingPolicy loadBalancingPolicy() { return configuration.getPolicies().getLoadBalancingPolicy(); }
LoadBalancingPolicy loadBalancingPolicy() { return configuration.getPolicies().getLoadBalancingPolicy(); }
LoadBalancingPolicy loadBalancingPolicy() { return configuration.getPolicies().getLoadBalancingPolicy(); }
LoadBalancingPolicy loadBalancingPolicy() { return configuration.getPolicies().getLoadBalancingPolicy(); }
private Manager(String clusterName, List<InetSocketAddress> contactPoints, Configuration configuration, Collection<Host.StateListener> listeners) { this.clusterName = clusterName == null ? generateClusterName() : clusterName; this.configuration = configuration; this.contactPoints = contactPoints; this.listeners = new CopyOnWriteArraySet<Host.StateListener>(listeners); this.requiresPartitionMap = requiresPartitionMap(configuration.getPolicies().getLoadBalancingPolicy()); }
private List<List<Statement>> splitByToken() { Map<Set<Host>,List<Statement>> batches = new HashMap<>(); for (Statement statement : statements) { Set<Host> hosts = new HashSet<>(); Iterator<Host> it = session.getCluster().getConfiguration().getPolicies(). getLoadBalancingPolicy().newQueryPlan(statement.getKeyspace(), statement); // We are using TokenAwarePolicy without shuffling. Let's group by primary replica only then if (it.hasNext()) { hosts.add(it.next()); } List<Statement> tokenBatch = batches.get(hosts); if (tokenBatch == null) { tokenBatch = new ArrayList<>(); batches.put(hosts, tokenBatch); } tokenBatch.add(statement); } return new ArrayList<>(batches.values()); }
/** * Constructor for SubsplitCreator. * @param session open Cassandra Session. */ public CassandraSubSplitCreator(Session session) { mSession = session; // Check that this session uses the load-balancing policy that we need. Preconditions.checkArgument( session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy() instanceof ConsistentHostOrderPolicy ); }
public RxSessionImpl(Session session) { this.session = session; this.loadBalancingPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); PoolingOptions poolingOptions = session.getCluster().getConfiguration().getPoolingOptions(); maxInFlightLocal = poolingOptions.getCoreConnectionsPerHost(HostDistance.LOCAL) * poolingOptions.getMaxRequestsPerConnection(HostDistance.LOCAL); maxInFlightRemote = poolingOptions.getCoreConnectionsPerHost(HostDistance.REMOTE) * poolingOptions.getMaxRequestsPerConnection(HostDistance.REMOTE); }
public RxSessionImpl(Session session) { this.session = session; this.loadBalancingPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); PoolingOptions poolingOptions = session.getCluster().getConfiguration().getPoolingOptions(); maxInFlightLocal = poolingOptions.getCoreConnectionsPerHost(HostDistance.LOCAL) * poolingOptions.getMaxRequestsPerConnection(HostDistance.LOCAL); maxInFlightRemote = poolingOptions.getCoreConnectionsPerHost(HostDistance.REMOTE) * poolingOptions.getMaxRequestsPerConnection(HostDistance.REMOTE); }
public DataAccessImpl(Session session) { this.session = session; rxSession = new RxSessionImpl(session); loadBalancingPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); codecRegistry = session.getCluster().getConfiguration().getCodecRegistry(); metadata = session.getCluster().getMetadata(); initPreparedStatements(); initializeTemporaryTableStatements(); }
public DataAccessImpl(Session session) { this.session = session; rxSession = new RxSessionImpl(session); loadBalancingPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); codecRegistry = session.getCluster().getConfiguration().getCodecRegistry(); metadata = session.getCluster().getMetadata(); initPreparedStatements(); initializeTemporaryTableStatements(); }
@Test public void cassandraSessionWithConfiguration() throws Exception { ApplicationContext testContext = getTestApplicationContext( "cloud-cassandra-with-config.xml", createService("my-service")); Cluster cluster = testContext.getBean("cassandra-full-config", getConnectorType()); assertNotNull(cluster.getConfiguration().getSocketOptions()); assertEquals(15000, cluster.getConfiguration().getSocketOptions().getConnectTimeoutMillis()); assertTrue(DefaultRetryPolicy.class.isAssignableFrom( cluster.getConfiguration().getPolicies().getRetryPolicy().getClass())); assertTrue(RoundRobinPolicy.class.isAssignableFrom(cluster.getConfiguration() .getPolicies().getLoadBalancingPolicy().getClass())); assertTrue(ConstantReconnectionPolicy.class.isAssignableFrom(cluster .getConfiguration().getPolicies().getReconnectionPolicy().getClass())); }
private void createKeyspace(Metadata metadata) { Statement createKeyspaceStatement = null; // Find out which node is closest and use that for the networktopologystrategy LoadBalancingPolicy lbPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); for (Host host : metadata.getAllHosts()) { if (lbPolicy.distance(host) == HostDistance.LOCAL) { createKeyspaceStatement = KeyspaceBuilder.create(keyspace) .ifNotExists() .networkTopologyStrategy() .dc(host.getDatacenter(), 1); break; } } if (createKeyspaceStatement == null) { fail("Could not find a local host for the test"); return; } session.execute(createKeyspaceStatement); }