@Override public String getPartitioner() { return executeWithSession(session -> session.getCluster().getMetadata().getPartitioner()); }
/** * Check if the current partitioner is the Murmur3 (default in Cassandra version newer than 2). */ @VisibleForTesting static boolean isMurmur3Partitioner(Cluster cluster) { return MURMUR3PARTITIONER.equals(cluster.getMetadata().getPartitioner()); }
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() + "'"; } })))); }
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() + "'"; } })))); }
@Override public String getPartitioner() { return executeWithSession(session -> session.getCluster().getMetadata().getPartitioner()); }
@Override public String getPartitioner() { return executeWithSession(session -> session.getCluster().getMetadata().getPartitioner()); }
LOGGER.info("Connected to cluster: " + metadata.getClusterName() + " with partitioner: " + metadata.getPartitioner()); metadata.getAllHosts().stream().forEach((host) -> { LOGGER.info("Cassandra datacenter: " + host.getDatacenter() + " | address: " + host.getAddress() + " | rack: " + host.getRack());
private Cluster createClusterMock() { Metadata metadata = Mockito.mock(Metadata.class); KeyspaceMetadata keyspaceMetadata = Mockito.mock(KeyspaceMetadata.class); TableMetadata tableMetadata = Mockito.mock(TableMetadata.class); ColumnMetadata columnMetadata = Mockito.mock(ColumnMetadata.class); Mockito.when(metadata.getPartitioner()).thenReturn(MURMUR3_PARTITIONER); Mockito.when(metadata.getKeyspace(Mockito.anyString())).thenReturn(keyspaceMetadata); Mockito.when(keyspaceMetadata.getTable(Mockito.anyString())).thenReturn(tableMetadata); Mockito.when(tableMetadata.getPartitionKey()) .thenReturn(Collections.singletonList(columnMetadata)); Mockito.when(columnMetadata.getName()).thenReturn("$pk"); Cluster cluster = Mockito.mock(Cluster.class); Mockito.when(cluster.getMetadata()).thenReturn(metadata); return cluster; }
LOG.info("Number of desired splits is {}", numSplits); SplitGenerator splitGenerator = new SplitGenerator(cluster.getMetadata().getPartitioner()); List<BigInteger> tokens = cluster
fb.multiQuery(false); final String partitioner = this.cluster.getMetadata().getPartitioner(); switch (partitioner.substring(partitioner.lastIndexOf('.') + 1)) { case "RandomPartitioner":
public void init(String keyspace) { Cluster.Builder builder = Cluster.builder().addContactPoints(hosts).withPort(port); if (sslOptions != null) builder.withSSL(sslOptions); if (authProvider != null) builder = builder.withAuthProvider(authProvider); try (Cluster cluster = builder.build(); Session session = cluster.connect()) { Metadata metadata = cluster.getMetadata(); Set<TokenRange> tokenRanges = metadata.getTokenRanges(); IPartitioner partitioner = FBUtilities.newPartitioner(metadata.getPartitioner()); TokenFactory tokenFactory = partitioner.getTokenFactory(); for (TokenRange tokenRange : tokenRanges) { Set<Host> endpoints = metadata.getReplicas(Metadata.quote(keyspace), tokenRange); Range<Token> range = new Range<>(tokenFactory.fromString(tokenRange.getStart().getValue().toString()), tokenFactory.fromString(tokenRange.getEnd().getValue().toString())); for (Host endpoint : endpoints) addRangeForEndpoint(range, endpoint.getAddress()); } Types types = fetchTypes(keyspace, session); tables.putAll(fetchTables(keyspace, session, partitioner, types)); // We only need the CFMetaData for the views, so we only load that. tables.putAll(fetchViews(keyspace, session, partitioner, types)); } }
public void init(String keyspace) { Cluster.Builder builder = Cluster.builder().addContactPoints(hosts).withPort(port); if (sslOptions != null) builder.withSSL(sslOptions); if (authProvider != null) builder = builder.withAuthProvider(authProvider); try (Cluster cluster = builder.build(); Session session = cluster.connect()) { Metadata metadata = cluster.getMetadata(); Set<TokenRange> tokenRanges = metadata.getTokenRanges(); IPartitioner partitioner = FBUtilities.newPartitioner(metadata.getPartitioner()); TokenFactory tokenFactory = partitioner.getTokenFactory(); for (TokenRange tokenRange : tokenRanges) { Set<Host> endpoints = metadata.getReplicas(Metadata.quote(keyspace), tokenRange); Range<Token> range = new Range<>(tokenFactory.fromString(tokenRange.getStart().getValue().toString()), tokenFactory.fromString(tokenRange.getEnd().getValue().toString())); for (Host endpoint : endpoints) addRangeForEndpoint(range, endpoint.getAddress()); } Types types = fetchTypes(keyspace, session); tables.putAll(fetchTables(keyspace, session, partitioner, types)); // We only need the CFMetaData for the views, so we only load that. tables.putAll(fetchViews(keyspace, session, partitioner, types)); } }
public void init(String keyspace) { Cluster.Builder builder = Cluster.builder().addContactPoints(hosts).withPort(port); if (sslOptions != null) builder.withSSL(sslOptions); if (authProvider != null) builder = builder.withAuthProvider(authProvider); try (Cluster cluster = builder.build(); Session session = cluster.connect()) { Metadata metadata = cluster.getMetadata(); Set<TokenRange> tokenRanges = metadata.getTokenRanges(); IPartitioner partitioner = FBUtilities.newPartitioner(metadata.getPartitioner()); TokenFactory tokenFactory = partitioner.getTokenFactory(); for (TokenRange tokenRange : tokenRanges) { Set<Host> endpoints = metadata.getReplicas(Metadata.quote(keyspace), tokenRange); Range<Token> range = new Range<>(tokenFactory.fromString(tokenRange.getStart().getValue().toString()), tokenFactory.fromString(tokenRange.getEnd().getValue().toString())); for (Host endpoint : endpoints) addRangeForEndpoint(range, endpoint.getAddress()); } Types types = fetchTypes(keyspace, session); tables.putAll(fetchTables(keyspace, session, partitioner, types)); // We only need the CFMetaData for the views, so we only load that. tables.putAll(fetchViews(keyspace, session, partitioner, types)); } }