public Set<Host> getAllHosts() { Metadata metadata = getMetadata(); return metadata.getAllHosts(); }
@Override public Cluster get() { String host = configuration.getHostAddress(); int port = configuration.getPort(); LOGGER.info("Connecting to cassandra cluster with host:{}, port:{}", host, port); Cluster cluster = Cluster.builder() .addContactPoint(host) .withPort(port) .build(); Metadata metadata = cluster.getMetadata(); LOGGER.info("Connected to cluster: {}", metadata.getClusterName()); metadata.getAllHosts().forEach(h -> { LOGGER.info("Datacenter:{}, host:{}, rack: {}", h.getDatacenter(), h.getAddress(), h.getRack()); }); return cluster; } }
@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); }
metadata.getClusterName()); for (Host discoveredHost : metadata.getAllHosts()) { logger.info("Datacenter: {}; Host: {}; Rack: {}\n", discoveredHost.getDatacenter(), discoveredHost.getAddress(),
@Override public Map<String, Object> getMetrics() { Map<String, Object> results = InsertionOrderUtil.newMap(); for (Host host : this.cluster.getMetadata().getAllHosts()) { String address = host.getAddress().getHostAddress(); results.put(address, this.getMetricsByHost(address)); } return results; }
/** @return A mapping of Host -> Token for each Host in the given {@link Metadata} */ private Map<Host, Token> getTokenForHosts(Metadata metadata) { Map<Host, Token> tokensByHost = Maps.newHashMap(); for (Host host : metadata.getAllHosts()) { tokensByHost.put(host, host.getTokens().iterator().next()); } return tokensByHost; }
private static int countUpHosts(Cluster cluster) { int ups = 0; for (Host host : cluster.getMetadata().getAllHosts()) { if (host.isUp()) ups += 1; } return ups; }
public Host host(Cluster cluster, int dc, int node) { InetSocketAddress address = address(dc, node); for (Host host : cluster.getMetadata().getAllHosts()) { if (host.getSocketAddress().equals(address)) { return host; } } return null; }
/** * Asserts that {@link Cluster}'s {@link Host}s have valid {@link TokenRange}s with the given * keyspace. * * <p>Ensures that no ranges intersect and that they cover the entire ring. * * @param keyspace Keyspace to grab {@link TokenRange}s from. */ public ClusterAssert hasValidTokenRanges(String keyspace) { // Sort the token ranges so they are in order (needed for vnodes). Set<TokenRange> ranges = new TreeSet<TokenRange>(); for (Host host : actual.getMetadata().getAllHosts()) { ranges.addAll(actual.getMetadata().getTokenRanges(keyspace, host)); } return hasValidTokenRanges(ranges); }
@Override public void onTestContextInitialized() { ProtocolVersion protocolVersion = ccm().getProtocolVersion(); samples = PrimitiveTypeSamples.samples(protocolVersion); tables = allTables(); Host host = cluster().getMetadata().getAllHosts().iterator().next(); cassandraVersion = host.getCassandraVersion().nextStable(); List<String> statements = Lists.newArrayList(); for (TestTable table : tables) { if (cassandraVersion.compareTo(table.minCassandraVersion) < 0) logger.debug( "Skipping table because it uses a feature not supported by Cassandra {}: {}", cassandraVersion, table.createStatement); else statements.add(table.createStatement); } execute(statements); }
@Test(groups = "short") @CCMConfig(numberOfNodes = 2, clusterProvider = "updatablePolicy") public void refreshTest() throws Throwable { // Ugly Host[] hosts = new Host[2]; for (Host h : cluster().getMetadata().getAllHosts()) { if (h.getAddress().equals(ccm().addressOfNode(1).getAddress())) hosts[0] = h; else hosts[1] = h; } assertTrue( session().getState().getConnectedHosts().contains(hosts[0]), "Connected hosts: " + session().getState().getConnectedHosts()); assertTrue( !session().getState().getConnectedHosts().contains(hosts[1]), "Connected hosts: " + session().getState().getConnectedHosts()); policy.changeTheHost(hosts[1]); assertTrue( !session().getState().getConnectedHosts().contains(hosts[0]), "Connected hosts: " + session().getState().getConnectedHosts()); assertTrue( session().getState().getConnectedHosts().contains(hosts[1]), "Connected hosts: " + session().getState().getConnectedHosts()); }
assertThat(cluster.getMetadata().getAllHosts()) .hasSize(3) .extractingResultOf("getAddress") assertThat(cluster.getMetadata().getAllHosts()) .hasSize(2) .extractingResultOf("getAddress")
@Override public Set<Host> doInSession(Session session) { return session.getCluster().getMetadata().getAllHosts(); } });
Metadata metadata = cluster.getMetadata(); LOGGER.info("Connected to cluster: {}\n", metadata.getClusterName()); for (Host host : metadata.getAllHosts()) { LOGGER.info("Datatacenter: {}; Host: {}; Rack: {}\n", host.getDatacenter(),
/** * Ensures that if cluster does not have the system.peers_v2 table that cluster initialization * still succeeds. * * @jira_ticket JAVA-1388 * @since 3.6.0 */ @Test(groups = "short") @CCMConfig(createCcm = false) public void should_connect_when_peers_v2_table_not_present() { ScassandraCluster sCluster = ScassandraCluster.builder().withNodes(5).withPeersV2(false).build(); Cluster cluster = Cluster.builder() .addContactPointsWithPorts(sCluster.address(1)) .withNettyOptions(nonQuietClusterCloseOptions) .withPort(sCluster.getBinaryPort()) .build(); try { sCluster.init(); cluster.connect(); assertThat(cluster.getMetadata().getAllHosts()).hasSize(5); } finally { cluster.close(); sCluster.stop(); } }
/** @return A mapping of Host -> Token for each Host in the given {@link Metadata} */ private Map<Host, Token> getTokenForHosts(Metadata metadata) { Map<Host, Token> tokensByHost = Maps.newHashMap(); for (Host host : metadata.getAllHosts()) { tokensByHost.put(host, host.getTokens().iterator().next()); } return tokensByHost; }
for (Host host : metadata.getAllHosts()) { if (!host.equals(host4)) { TokenRange hostRange = metadata.getTokenRanges(keyspace, host).iterator().next();
assertThat(queryPlan).containsOnlyElementsOf(cluster.getMetadata().getAllHosts());
sCluster.init(); cluster.connect(); assertThat(cluster.getMetadata().getAllHosts()).hasSize(5);
static KeyspaceMetadata getKeyspaceMetadata(Session session, String keyspace) { Cluster cluster = session.getCluster(); com.datastax.driver.core.Metadata metadata = cluster.getMetadata(); for (Host host : metadata.getAllHosts()) { checkState( 0 >= VersionNumber.parse("3.11.3").compareTo(host.getCassandraVersion()), "Host %s is running Cassandra %s, but minimum version is 3.11.3", host.getHostId(), host.getCassandraVersion()); } return metadata.getKeyspace(keyspace); }