/** * Returns the actual partitioner in use by Cassandra if it does not match the expected partitioner, null if it matches. */ private String getMismatchedPartitioner(Class<? extends IPartitioner> expectedPartitioner) { String partitioner = null; try { partitioner = _astyanaxKeyspace.describePartitioner(); boolean matches = CassandraPartitioner.fromClass(partitioner).matches(expectedPartitioner.getName()); if (matches) { return null; } else { return partitioner; } } catch (ConnectionException e) { throw Throwables.propagate(e); } catch (IllegalArgumentException e) { // Only thrown if the partitioner doesn't match any compatible partitioner, so by definition it is mismatched. return partitioner; } } }
@Override public Object apply(CassandraPartitioner partitioner) { return "'" + partitioner.name().toLowerCase() + "'"; } }))));
@JsonProperty ("partitioner") public CassandraConfiguration setPartitioner(String partitioner) { return setPartitioner(CassandraPartitioner.valueOf(partitioner.toUpperCase())); }
.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))
String partitioner = payload.path("partitioner").textValue(); if (partitioner != null) { _partitioner = CassandraPartitioner.fromClass(partitioner);
.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))
String partitioner = payload.path("partitioner").textValue(); if (partitioner != null) { _partitioner = CassandraPartitioner.fromClass(partitioner);
private void errorIfPartitionerMisconfigured() { String cassandraPartitioner = _cqlSession.getCluster().getMetadata().getPartitioner(); List<CassandraPartitioner> compatible = Lists.newArrayList(); for (CassandraPartitioner partitioner : CassandraPartitioner.values()) { if (partitioner.matches(cassandraPartitioner)) { return; } compatible.add(partitioner); } throw new IllegalStateException(format( "Cassandra keyspace '%s' uses the %s. The application connection pool 'partitioner' setting must be set to %s.", getName(), cassandraPartitioner.substring(cassandraPartitioner.lastIndexOf('.') + 1), Joiner.on(" or ").join(Collections2.transform(compatible, new Function<CassandraPartitioner, Object>() { @Override public Object apply(CassandraPartitioner partitioner) { return "'" + partitioner.name().toLowerCase() + "'"; } })))); }
/** * Returns the actual partitioner in use by Cassandra if it does not match the expected partitioner, null if it matches. */ private String getMismatchedPartitioner(Class<? extends IPartitioner> expectedPartitioner) { String partitioner = null; try { partitioner = _astyanaxKeyspace.describePartitioner(); boolean matches = CassandraPartitioner.fromClass(partitioner).matches(expectedPartitioner.getName()); if (matches) { return null; } else { return partitioner; } } catch (ConnectionException e) { throw Throwables.propagate(e); } catch (IllegalArgumentException e) { // Only thrown if the partitioner doesn't match any compatible partitioner, so by definition it is mismatched. return partitioner; } } }
@Override public Object apply(CassandraPartitioner partitioner) { return "'" + partitioner.name().toLowerCase() + "'"; } }))));
@JsonProperty ("partitioner") public CassandraConfiguration setPartitioner(String partitioner) { return setPartitioner(CassandraPartitioner.valueOf(partitioner.toUpperCase())); }
private void errorIfPartitionerMisconfigured() { String cassandraPartitioner = _cqlSession.getCluster().getMetadata().getPartitioner(); List<CassandraPartitioner> compatible = Lists.newArrayList(); for (CassandraPartitioner partitioner : CassandraPartitioner.values()) { if (partitioner.matches(cassandraPartitioner)) { return; } compatible.add(partitioner); } throw new IllegalStateException(format( "Cassandra keyspace '%s' uses the %s. The application connection pool 'partitioner' setting must be set to %s.", getName(), cassandraPartitioner.substring(cassandraPartitioner.lastIndexOf('.') + 1), Joiner.on(" or ").join(Collections2.transform(compatible, new Function<CassandraPartitioner, Object>() { @Override public Object apply(CassandraPartitioner partitioner) { return "'" + partitioner.name().toLowerCase() + "'"; } })))); }