com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl Java Examples
The following examples show how to use
com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CassandraMutagenImplTest.java From mutagen-cassandra with Apache License 2.0 | 6 votes |
private static void defineKeyspace() { context=new AstyanaxContext.Builder() .forKeyspace("mutagen_test") .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() // .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE) // .setCqlVersion("3.0.0") // .setTargetCassandraVersion("1.2") .setDefaultReadConsistencyLevel(ConsistencyLevel.CL_QUORUM) .setDefaultWriteConsistencyLevel(ConsistencyLevel.CL_QUORUM) ) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl("testPool") .setPort(9160) .setMaxConnsPerHost(1) .setSeeds("localhost") ) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); keyspace=context.getClient(); }
Example #2
Source File: AstyanaxSupport.java From brooklyn-library with Apache License 2.0 | 6 votes |
public AstyanaxContext<Keyspace> newAstyanaxContextForKeyspace(String keyspace) { AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder() .forCluster(clusterName) .forKeyspace(keyspace) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.NONE)) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("BrooklynPool") .setPort(thriftPort) .setMaxConnsPerHost(1) .setConnectTimeout(5000) // 10s .setSeeds(String.format("%s:%d", hostname, thriftPort))) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); return context; }
Example #3
Source File: AstyanaxSupport.java From brooklyn-library with Apache License 2.0 | 6 votes |
public AstyanaxContext<Cluster> newAstyanaxContextForCluster() { AstyanaxContext<Cluster> context = new AstyanaxContext.Builder() .forCluster(clusterName) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.NONE)) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("BrooklynPool") .setPort(thriftPort) .setMaxConnsPerHost(1) .setConnectTimeout(5000) // 10s .setSeeds(String.format("%s:%d", hostname, thriftPort))) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildCluster(ThriftFamilyFactory.getInstance()); context.start(); return context; }
Example #4
Source File: InstanceDataDAOCassandra.java From Raigad with Apache License 2.0 | 6 votes |
private AstyanaxContext<Keyspace> initWithThriftDriverWithEurekaHostsSupplier() { logger.info("Boot cluster (BOOT_CLUSTER) is {}, keyspace name (KS_NAME) is {}", BOOT_CLUSTER, KS_NAME); return new AstyanaxContext.Builder() .forCluster(BOOT_CLUSTER) .forKeyspace(KS_NAME) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.DISCOVERY_SERVICE)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl( "MyConnectionPool") .setMaxConnsPerHost(3) .setPort(thriftPortForAstyanax)) .withHostSupplier(eurekaHostsSupplier.getSupplier(BOOT_CLUSTER)) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); }
Example #5
Source File: InstanceDataDAOCassandra.java From Raigad with Apache License 2.0 | 6 votes |
private AstyanaxContext<Keyspace> initWithThriftDriverWithExternalHostsSupplier() { logger.info("Boot cluster (BOOT_CLUSTER) is {}, keyspace name (KS_NAME) is {}", BOOT_CLUSTER, KS_NAME); return new AstyanaxContext.Builder() .forCluster(BOOT_CLUSTER) .forKeyspace(KS_NAME) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.DISCOVERY_SERVICE) .setConnectionPoolType( ConnectionPoolType.ROUND_ROBIN)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl( "MyConnectionPool") .setMaxConnsPerHost(3) .setPort(thriftPortForAstyanax)) .withHostSupplier(getSupplier()) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); }
Example #6
Source File: TestChunking.java From staash with Apache License 2.0 | 6 votes |
@Before public void setup() { AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder() .forCluster("Test Cluster") .forKeyspace(KS) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl("MyConnectionPool") .setPort(9160).setMaxConnsPerHost(1) .setSeeds("127.0.0.1:9160")) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); keyspace = context.getClient(); }
Example #7
Source File: AstyanaxIO.java From blueflood with Apache License 2.0 | 6 votes |
private static ConnectionPoolConfigurationImpl createPreferredConnectionPoolConfiguration() { int port = config.getIntegerProperty(CoreConfig.DEFAULT_CASSANDRA_PORT); Set<String> uniqueHosts = ioconfig.getUniqueHosts(); int numHosts = uniqueHosts.size(); int connsPerHost = ioconfig.getMaxConnPerHost(numHosts); int timeout = config.getIntegerProperty(CoreConfig.CASSANDRA_REQUEST_TIMEOUT); // This timeout effectively results in waiting a maximum of (timeoutWhenExhausted / numHosts) on each Host int timeoutWhenExhausted = config.getIntegerProperty(CoreConfig.MAX_TIMEOUT_WHEN_EXHAUSTED); timeoutWhenExhausted = Math.max(timeoutWhenExhausted, 1 * numHosts); // Minimum of 1ms per host final ConnectionPoolConfigurationImpl connectionPoolConfiguration = new ConnectionPoolConfigurationImpl("MyConnectionPool") .setPort(port) .setSocketTimeout(timeout) .setMaxConnsPerHost(connsPerHost) .setMaxBlockedThreadsPerHost(5) .setMaxTimeoutWhenExhausted(timeoutWhenExhausted) .setInitConnsPerHost(connsPerHost / 2) .setSeeds(config.getStringProperty(CoreConfig.CASSANDRA_HOSTS)); return connectionPoolConfiguration; }
Example #8
Source File: Migration.java From blueflood with Apache License 2.0 | 6 votes |
private static AstyanaxContext<Keyspace> connect(String host, int port, String keyspace, int threads, NodeDiscoveryType discovery) { AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder() .forKeyspace(keyspace) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(discovery) .setRetryPolicy(new RetryNTimes(10))) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl(host + ":" + keyspace) .setMaxConns(threads * 2) .setSeeds(host) .setPort(port) .setRetryBackoffStrategy(new FixedRetryBackoffStrategy(1000, 1000))) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); return context; }
Example #9
Source File: CassandraStoreImpl.java From recipes-rss with Apache License 2.0 | 5 votes |
/** * Connect to Cassandra */ private static Keyspace getKeyspace() throws Exception{ if (ks == null) { try { AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder() .forKeyspace(DynamicPropertyFactory.getInstance().getStringProperty(RSSConstants.CASSANDRA_KEYSPACE, null).get()) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE) ) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("MyConnectionPool") .setPort(DynamicPropertyFactory.getInstance().getIntProperty(RSSConstants.CASSANDRA_PORT, 0).get()) .setMaxConnsPerHost(DynamicPropertyFactory.getInstance().getIntProperty(RSSConstants.CASSANDRA_MAXCONNSPERHOST, 1).get()) .setSeeds(DynamicPropertyFactory.getInstance().getStringProperty(RSSConstants.CASSANDRA_HOST, "").get() + ":" + DynamicPropertyFactory.getInstance().getIntProperty(RSSConstants.CASSANDRA_PORT, 0).get() ) ) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); ks = context.getEntity(); } catch (Exception e) { logger.error("Exception occurred when initializing Cassandra keyspace: " + e); throw e; } } return ks; }
Example #10
Source File: TestStaashModule.java From staash with Apache License 2.0 | 5 votes |
@Provides @Named("astmetaks") @Singleton Keyspace provideKeyspace() { AstyanaxContext<Keyspace> keyspaceContext = new AstyanaxContext.Builder() .forCluster("test cluster") .forKeyspace(MetaConstants.META_KEY_SPACE) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.NONE) .setConnectionPoolType( ConnectionPoolType.ROUND_ROBIN) .setTargetCassandraVersion("1.2") .setCqlVersion("3.0.0")) // .withHostSupplier(hs.getSupplier(clustername)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl("localpool" + "_" + MetaConstants.META_KEY_SPACE) .setSocketTimeout(30000) .setMaxTimeoutWhenExhausted(20000) .setMaxConnsPerHost(3).setInitConnsPerHost(1) .setSeeds("localhost"+":"+"9160")) //uncomment for localhost // .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); keyspaceContext.start(); Keyspace keyspace; keyspace = keyspaceContext.getClient(); return keyspace; }
Example #11
Source File: PaasPropertiesModule.java From staash with Apache License 2.0 | 5 votes |
@Provides @Named("astmetaks") Keyspace provideKeyspace(@Named("staash.metacluster") String clustername,EurekaAstyanaxHostSupplier hs) { String clusterNameOnly = ""; String[] clusterinfo = clustername.split(":"); if (clusterinfo != null && clusterinfo.length == 2) { clusterNameOnly = clusterinfo[0]; } else { clusterNameOnly = clustername; } AstyanaxContext<Keyspace> keyspaceContext = new AstyanaxContext.Builder() .forCluster(clusterNameOnly) .forKeyspace(MetaConstants.META_KEY_SPACE) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.RING_DESCRIBE) .setConnectionPoolType( ConnectionPoolType.TOKEN_AWARE) .setDiscoveryDelayInSeconds(60) .setTargetCassandraVersion("1.2") .setCqlVersion("3.0.0")) .withHostSupplier(hs.getSupplier(clustername)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl(clusterNameOnly + "_" + MetaConstants.META_KEY_SPACE) .setSocketTimeout(11000) .setConnectTimeout(2000) .setMaxConnsPerHost(10).setInitConnsPerHost(3)) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); keyspaceContext.start(); Keyspace keyspace; keyspace = keyspaceContext.getClient(); return keyspace; }
Example #12
Source File: CassandraStorage.java From greycat with Apache License 2.0 | 5 votes |
public CassandraStorage(String keySpace) { context = new AstyanaxContext.Builder() .forKeyspace(keySpace) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE) ) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("MyConnectionPool") .setMaxConnsPerHost(1) .setSeeds("127.0.0.1:9160") ) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); }
Example #13
Source File: CassandraClusterImpl.java From usergrid with Apache License 2.0 | 5 votes |
private ConnectionPoolConfiguration getConnectionPoolConfig ( final String poolName, final int poolSize ){ ConnectionPoolConfiguration config; final String username = cassandraFig.getUsername(); final String password = cassandraFig.getPassword(); if ( username != null && !username.isEmpty() && password != null && !password.isEmpty() ){ config = new ConnectionPoolConfigurationImpl( poolName ) .setPort( cassandraFig.getThriftPort() ) .setLocalDatacenter( cassandraFig.getLocalDataCenter() ) .setMaxConnsPerHost( poolSize ) .setSeeds( cassandraFig.getHosts() ) .setConnectTimeout( cassandraFig.getTimeout() ) .setSocketTimeout( cassandraFig.getTimeout() ) .setAuthenticationCredentials(new SimpleAuthenticationCredentials( username, password)); } else { // create instance of the connection pool without credential if they are not set config = new ConnectionPoolConfigurationImpl( poolName ) .setPort( cassandraFig.getThriftPort() ) .setLocalDatacenter( cassandraFig.getLocalDataCenter() ) .setMaxConnsPerHost( poolSize ) .setSeeds( cassandraFig.getHosts() ) .setSocketTimeout( cassandraFig.getTimeout() ) .setConnectTimeout( cassandraFig.getTimeout() ); } return config; }
Example #14
Source File: CassandraClusterHolder.java From staash with Apache License 2.0 | 5 votes |
/** * Register a keyspace such that a client is created for it and it is now accessible to * this instance * * @param keyspaceName * @throws AlreadyExistsException */ public synchronized void registerKeyspace(String keyspaceName) throws AlreadyExistsException { Preconditions.checkNotNull(keyspaceName); if (keyspaces.containsKey(keyspaceName)) { throw new AlreadyExistsException("keyspace", keyspaceName); } CassandraKeyspaceHolder keyspace = new CassandraKeyspaceHolder(new AstyanaxContext.Builder() .forCluster(clusterName) .forKeyspace(keyspaceName) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE) .setConnectionPoolType(ConnectionPoolType.ROUND_ROBIN) .setDiscoveryDelayInSeconds(60000)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl( clusterName + "_" + keyspaceName) .setSeeds("localhost:9160")) .withConnectionPoolMonitor(new Slf4jConnectionPoolMonitorImpl()) .buildKeyspace(ThriftFamilyFactory.getInstance())); try { keyspace.initialize(); } finally { keyspaces.put(keyspaceName, keyspace); } }
Example #15
Source File: AstyanaxIO.java From blueflood with Apache License 2.0 | 5 votes |
private static AstyanaxContext<Keyspace> createCustomHostContext(AstyanaxConfigurationImpl configuration, ConnectionPoolConfigurationImpl connectionPoolConfiguration) { return new AstyanaxContext.Builder() .forCluster(CassandraModel.CLUSTER) .forKeyspace(CassandraModel.KEYSPACE) .withAstyanaxConfiguration(configuration) .withConnectionPoolConfiguration(connectionPoolConfiguration) .withConnectionPoolMonitor(new InstrumentedConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); }
Example #16
Source File: AstyanaxCassandraConnection.java From staash with Apache License 2.0 | 4 votes |
private Keyspace createAstyanaxKeyspace(String clustername, String db, EurekaAstyanaxHostSupplier supplier) { String clusterNameOnly = "localhost"; String clusterPortOnly = "9160"; String[] clusterinfo = clustername.split(":"); if (clusterinfo != null && clusterinfo.length == 2) { clusterNameOnly = clusterinfo[0]; } else { clusterNameOnly = clustername; } AstyanaxContext<Keyspace> keyspaceContext; if (supplier!=null) { keyspaceContext = new AstyanaxContext.Builder() .forCluster("Casss_Paas") .forKeyspace(db) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.DISCOVERY_SERVICE) .setConnectionPoolType( ConnectionPoolType.TOKEN_AWARE) .setDiscoveryDelayInSeconds(60) .setTargetCassandraVersion("1.2") .setCqlVersion("3.0.0")) .withHostSupplier(supplier.getSupplier(clustername)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl(clusterNameOnly + "_" + db) .setSocketTimeout(10000) .setPort(7102) .setMaxConnsPerHost(10).setInitConnsPerHost(3) .setSeeds(null)) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); } else { keyspaceContext = new AstyanaxContext.Builder() .forCluster(clusterNameOnly) .forKeyspace(db) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.RING_DESCRIBE) .setConnectionPoolType( ConnectionPoolType.TOKEN_AWARE) .setDiscoveryDelayInSeconds(60) .setTargetCassandraVersion("1.2") .setCqlVersion("3.0.0")) //.withHostSupplier(hs.getSupplier(clustername)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl(clusterNameOnly + "_" + db) .setSocketTimeout(11000) .setConnectTimeout(2000) .setMaxConnsPerHost(10).setInitConnsPerHost(3) .setSeeds(clusterNameOnly+":"+clusterPortOnly)) .buildKeyspace(ThriftFamilyFactory.getInstance()); } keyspaceContext.start(); Keyspace keyspace; keyspace = keyspaceContext.getClient(); return keyspace; }
Example #17
Source File: DefaultAstyanaxConnectionPoolConfigurationProvider.java From staash with Apache License 2.0 | 4 votes |
@Override public ConnectionPoolConfiguration get(String name) { return new ConnectionPoolConfigurationImpl(name); }
Example #18
Source File: TestPaasPropertiesModule.java From staash with Apache License 2.0 | 4 votes |
@Provides @Named("astmetaks") @Singleton Keyspace provideKeyspace(@Named("paas.metacluster") String clustername) { String clusterNameOnly = ""; String clusterPortOnly = ""; String[] clusterinfo = clustername.split(":"); if (clusterinfo != null && clusterinfo.length == 2) { clusterNameOnly = clusterinfo[0]; clusterPortOnly = clusterinfo[1]; } else { clusterNameOnly = clustername; clusterPortOnly = "9160"; } // hs = new EurekaAstyanaxHostSupplier(); AstyanaxContext<Keyspace> keyspaceContext = new AstyanaxContext.Builder() .forCluster(clusterNameOnly) .forKeyspace(MetaConstants.META_KEY_SPACE) .withAstyanaxConfiguration( new AstyanaxConfigurationImpl() .setDiscoveryType( NodeDiscoveryType.RING_DESCRIBE) .setConnectionPoolType( ConnectionPoolType.TOKEN_AWARE) .setDiscoveryDelayInSeconds(60000) .setTargetCassandraVersion("1.1") .setCqlVersion("3.0.0")) // .withHostSupplier(hs.getSupplier(clustername)) .withConnectionPoolConfiguration( new ConnectionPoolConfigurationImpl(clusterNameOnly + "_" + MetaConstants.META_KEY_SPACE) .setSocketTimeout(3000) .setMaxTimeoutWhenExhausted(2000) .setMaxConnsPerHost(3).setInitConnsPerHost(1) .setSeeds(clusterNameOnly+":"+clusterPortOnly)) //uncomment for localhost .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); keyspaceContext.start(); Keyspace keyspace; keyspace = keyspaceContext.getClient(); return keyspace; }
Example #19
Source File: AstyanaxStoreManager.java From titan1withtp3.1 with Apache License 2.0 | 4 votes |
private AstyanaxContext.Builder getContextBuilder(Configuration config, int maxConnsPerHost, String usedFor) { final ConnectionPoolType poolType = ConnectionPoolType.valueOf(config.get(CONNECTION_POOL_TYPE)); final NodeDiscoveryType discType = NodeDiscoveryType.valueOf(config.get(NODE_DISCOVERY_TYPE)); final int maxConnections = config.get(MAX_CONNECTIONS); final int maxOperationsPerConnection = config.get(MAX_OPERATIONS_PER_CONNECTION); final int connectionTimeout = (int) connectionTimeoutMS.toMillis(); ConnectionPoolConfigurationImpl cpool = new ConnectionPoolConfigurationImpl(usedFor + "TitanConnectionPool") .setPort(port) .setMaxOperationsPerConnection(maxOperationsPerConnection) .setMaxConnsPerHost(maxConnsPerHost) .setRetryDelaySlice(retryDelaySlice) .setRetryMaxDelaySlice(retryMaxDelaySlice) .setRetrySuspendWindow(retrySuspendWindow) .setSocketTimeout(connectionTimeout) .setConnectTimeout(connectionTimeout) .setSeeds(StringUtils.join(hostnames, ",")); if (null != retryBackoffStrategy) { cpool.setRetryBackoffStrategy(retryBackoffStrategy); log.debug("Custom RetryBackoffStrategy {}", cpool.getRetryBackoffStrategy()); } else { log.debug("Default RetryBackoffStrategy {}", cpool.getRetryBackoffStrategy()); } if (StringUtils.isNotBlank(localDatacenter)) { cpool.setLocalDatacenter(localDatacenter); log.debug("Set local datacenter: {}", cpool.getLocalDatacenter()); } AstyanaxConfigurationImpl aconf = new AstyanaxConfigurationImpl() .setConnectionPoolType(poolType) .setDiscoveryType(discType) .setTargetCassandraVersion("1.2") .setMaxThriftSize(thriftFrameSizeBytes); if (0 < maxConnections) { cpool.setMaxConns(maxConnections); } if (hasAuthentication()) { cpool.setAuthenticationCredentials(new SimpleAuthenticationCredentials(username, password)); } if (config.get(SSL_ENABLED)) { cpool.setSSLConnectionContext(new SSLConnectionContext(config.get(SSL_TRUSTSTORE_LOCATION), config.get(SSL_TRUSTSTORE_PASSWORD))); } AstyanaxContext.Builder ctxBuilder = new AstyanaxContext.Builder(); // Standard context builder options ctxBuilder .forCluster(clusterName) .forKeyspace(keySpaceName) .withAstyanaxConfiguration(aconf) .withConnectionPoolConfiguration(cpool) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()); // Conditional context builder option: host supplier if (config.has(HOST_SUPPLIER)) { String hostSupplier = config.get(HOST_SUPPLIER); Supplier<List<Host>> supplier = null; if (hostSupplier != null) { try { supplier = (Supplier<List<Host>>) Class.forName(hostSupplier).newInstance(); ctxBuilder.withHostSupplier(supplier); } catch (Exception e) { log.warn("Problem with host supplier class " + hostSupplier + ", going to use default.", e); } } } return ctxBuilder; }
Example #20
Source File: CassandraConfiguration.java From emodb with Apache License 2.0 | 4 votes |
private AstyanaxContext.Builder newAstyanaxBuilder(String name, ConnectionPoolConfiguration poolConfig, MetricRegistry metricRegistry) { performHostDiscovery(metricRegistry); LatencyScoreStrategy latencyScoreStrategy = _latencyAware ? new EmaLatencyScoreStrategyImpl(_latencyAwareWindowSize) : new EmptyLatencyScoreStrategyImpl(); ConnectionPoolConfigurationImpl poolConfiguration = new ConnectionPoolConfigurationImpl(name) .setLocalDatacenter(_dataCenter) .setSeeds(_seeds) .setPartitioner(_partitioner.newAstyanaxPartitioner()) .setInitConnsPerHost(poolConfig.getInitialConnectionsPerHost().or(getInitialConnectionsPerHost()).or(ConnectionPoolConfigurationImpl.DEFAULT_INIT_PER_PARTITION)) .setMaxConnsPerHost(poolConfig.getMaxConnectionsPerHost().or(getMaxConnectionsPerHost()).or(ConnectionPoolConfigurationImpl.DEFAULT_MAX_ACTIVE_PER_PARTITION)) .setPort(_thriftPort) .setSocketTimeout(poolConfig.getSocketTimeout().or(getSocketTimeout()).or(ConnectionPoolConfigurationImpl.DEFAULT_SOCKET_TIMEOUT)) .setConnectTimeout(poolConfig.getConnectTimeout().or(getConnectTimeout()).or(ConnectionPoolConfigurationImpl.DEFAULT_CONNECT_TIMEOUT)) .setMaxFailoverCount(poolConfig.getMaxFailoverCount().or(getMaxFailoverCount()).or(ConnectionPoolConfigurationImpl.DEFAULT_FAILOVER_COUNT)) .setConnectionLimiterWindowSize(poolConfig.getConnectionLimiterWindowSize().or(getConnectionLimiterWindowSize()).or(ConnectionPoolConfigurationImpl.DEFAULT_CONNECTION_LIMITER_WINDOW_SIZE)) .setConnectionLimiterMaxPendingCount(poolConfig.getConnectionLimiterMaxPendingCount().or(getConnectionLimiterMaxPendingCount()).or(ConnectionPoolConfigurationImpl.DEFAULT_CONNECTION_LIMITER_MAX_PENDING_COUNT)) .setMaxPendingConnectionsPerHost(poolConfig.getMaxPendingConnectionsPerHost().or(getMaxPendingConnectionsPerHost()).or(ConnectionPoolConfigurationImpl.DEFAULT_MAX_PENDING_CONNECTIONS_PER_HOST)) .setMaxBlockedThreadsPerHost(poolConfig.getMaxBlockedThreadsPerHost().or(getMaxBlockedThreadsPerHost()).or(ConnectionPoolConfigurationImpl.DEFAULT_MAX_BLOCKED_THREADS_PER_HOST)) .setMaxTimeoutCount(poolConfig.getMaxTimeoutCount().or(getMaxTimeoutCount()).or(ConnectionPoolConfigurationImpl.DEFAULT_MAX_TIMEOUT_COUNT)) .setTimeoutWindow(poolConfig.getTimeoutWindow().or(getTimeoutWindow()).or(ConnectionPoolConfigurationImpl.DEFAULT_TIMEOUT_WINDOW)) .setRetrySuspendWindow(poolConfig.getRetrySuspendWindow().or(getRetrySuspendWindow()).or(ConnectionPoolConfigurationImpl.DEFAULT_RETRY_SUSPEND_WINDOW)) .setRetryDelaySlice(poolConfig.getRetryDelaySlice().or(getRetryDelaySlice()).or(ConnectionPoolConfigurationImpl.DEFAULT_RETRY_DELAY_SLICE)) .setRetryMaxDelaySlice(poolConfig.getRetryMaxDelaySlice().or(getRetryMaxDelaySlice()).or(ConnectionPoolConfigurationImpl.DEFAULT_RETRY_MAX_DELAY_SLICE)) .setMaxTimeoutWhenExhausted(poolConfig.getMaxTimeoutWhenExhausted().or(getMaxTimeoutWhenExhausted()).or(ConnectionPoolConfigurationImpl.DEFAULT_MAX_TIME_WHEN_EXHAUSTED)) .setAuthenticationCredentials(_authenticationCredentials) .setLatencyScoreStrategy(latencyScoreStrategy); CountingConnectionPoolMonitor poolMonitor = _verboseHostLogging ? new Slf4jConnectionPoolMonitorImpl() : new CountingConnectionPoolMonitor(); AstyanaxConfigurationImpl asConfig = new AstyanaxConfigurationImpl() .setConnectionPoolType(ConnectionPoolType.TOKEN_AWARE) .setDiscoveryType(NodeDiscoveryType.TOKEN_AWARE) .setTargetCassandraVersion("1.2"); if (_maxThriftFrameSize.isPresent()) { asConfig.setMaxThriftSize((int) _maxThriftFrameSize.get().toBytes()); } return new AstyanaxContext.Builder() .withAstyanaxConfiguration(asConfig) .withConnectionPoolConfiguration(poolConfiguration) .withConnectionPoolMonitor(poolMonitor); }