@Inject public DataStaxClusterImpl(final CassandraConfig cassandraFig ) throws Exception { this.cassandraConfig = cassandraFig; this.cluster = getCluster(); logger.info("Initialized datastax cluster client. Hosts={}, Idle Timeout={}s, Pool Timeout={}s", getCluster().getMetadata().getAllHosts().toString(), getCluster().getConfiguration().getPoolingOptions().getIdleTimeoutSeconds(), getCluster().getConfiguration().getPoolingOptions().getPoolTimeoutMillis() / 1000); // always initialize the keyspaces this.createApplicationKeyspace(false); this.createApplicationLocalKeyspace(false); }
private boolean trashConnection(Connection connection) { if (!connection.state.compareAndSet(OPEN, TRASHED)) return true; // First, make sure we don't go below core connections for (; ; ) { int opened = open.get(); if (opened <= options().getCoreConnectionsPerHost(hostDistance)) { connection.state.set(OPEN); return false; } if (open.compareAndSet(opened, opened - 1)) break; } logger.trace("Trashing {}", connection); connection.maxIdleTime = System.currentTimeMillis() + options().getIdleTimeoutSeconds() * 1000; doTrashConnection(connection); return true; }
private boolean trashConnection(Connection connection) { if (!connection.state.compareAndSet(OPEN, TRASHED)) return true; // First, make sure we don't go below core connections for (; ; ) { int opened = open.get(); if (opened <= options().getCoreConnectionsPerHost(hostDistance)) { connection.state.set(OPEN); return false; } if (open.compareAndSet(opened, opened - 1)) break; } logger.trace("Trashing {}", connection); connection.maxIdleTime = System.currentTimeMillis() + options().getIdleTimeoutSeconds() * 1000; doTrashConnection(connection); return true; }
private boolean trashConnection(Connection connection) { if (!connection.state.compareAndSet(OPEN, TRASHED)) return true; // First, make sure we don't go below core connections for (; ; ) { int opened = open.get(); if (opened <= options().getCoreConnectionsPerHost(hostDistance)) { connection.state.set(OPEN); return false; } if (open.compareAndSet(opened, opened - 1)) break; } logger.trace("Trashing {}", connection); connection.maxIdleTime = System.currentTimeMillis() + options().getIdleTimeoutSeconds() * 1000; doTrashConnection(connection); return true; }
private boolean trashConnection(Connection connection) { if (!connection.state.compareAndSet(OPEN, TRASHED)) return true; // First, make sure we don't go below core connections for (; ; ) { int opened = open.get(); if (opened <= options().getCoreConnectionsPerHost(hostDistance)) { connection.state.set(OPEN); return false; } if (open.compareAndSet(opened, opened - 1)) break; } logger.trace("Trashing {}", connection); connection.maxIdleTime = System.currentTimeMillis() + options().getIdleTimeoutSeconds() * 1000; doTrashConnection(connection); return true; }
@Override public void afterPropertiesSet() throws Exception { poolingOptions = configureRemoteHostDistancePoolingOptions( configureLocalHostDistancePoolingOptions(newPoolingOptions())); if (heartbeatIntervalSeconds != DEFAULT.getHeartbeatIntervalSeconds()) { poolingOptions.setHeartbeatIntervalSeconds(heartbeatIntervalSeconds); } if (idleTimeoutSeconds != DEFAULT.getIdleTimeoutSeconds()) { poolingOptions.setIdleTimeoutSeconds(idleTimeoutSeconds); } if (initializationExecutor != null) { poolingOptions.setInitializationExecutor(initializationExecutor); } if (poolTimeoutMilliseconds != DEFAULT.getPoolTimeoutMillis()) { poolingOptions.setPoolTimeoutMillis(poolTimeoutMilliseconds); } if (!isDefaultMaxQueueSize()) { SET_MAX_QUEUE_SIZE.ifPresent(method -> invokeMethod(method, poolingOptions, maxQueueSize)); } }
@Override public void afterPropertiesSet() throws Exception { poolingOptions = configureRemoteHostDistancePoolingOptions( configureLocalHostDistancePoolingOptions(newPoolingOptions())); if (heartbeatIntervalSeconds != DEFAULT.getHeartbeatIntervalSeconds()) { poolingOptions.setHeartbeatIntervalSeconds(heartbeatIntervalSeconds); } if (idleTimeoutSeconds != DEFAULT.getIdleTimeoutSeconds()) { poolingOptions.setIdleTimeoutSeconds(idleTimeoutSeconds); } if (initializationExecutor != null) { poolingOptions.setInitializationExecutor(initializationExecutor); } if (poolTimeoutMilliseconds != DEFAULT.getPoolTimeoutMillis()) { poolingOptions.setPoolTimeoutMillis(poolTimeoutMilliseconds); } if (!isDefaultMaxQueueSize() && SET_MAX_QUEUE_SIZE != null) { invokeMethod(SET_MAX_QUEUE_SIZE, poolingOptions, maxQueueSize); } }
assertEquals(2, options.getCoreConnectionsPerHost(HostDistance.REMOTE)); assertEquals(3, options.getHeartbeatIntervalSeconds()); assertEquals(4, options.getIdleTimeoutSeconds()); assertEquals(5, options.getMaxQueueSize()); assertEquals(6, options.getMaxConnectionsPerHost(HostDistance.LOCAL));
config.getAdditionalProperty("maxPoolRemote", 1)); poolOptions.setIdleTimeoutSeconds( config.getAdditionalProperty("idleTimeoutSeconds", poolOptions.getIdleTimeoutSeconds())); poolOptions.setPoolTimeoutMillis( config.getAdditionalProperty("poolTimeoutMillis", poolOptions.getPoolTimeoutMillis()));