本文整理了Java中com.datastax.driver.core.Metadata.checkSchemaAgreement()
方法的一些代码示例,展示了Metadata.checkSchemaAgreement()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Metadata.checkSchemaAgreement()
方法的具体详情如下:
包路径:com.datastax.driver.core.Metadata
类名称:Metadata
方法名:checkSchemaAgreement
[英]Checks whether hosts that are currently up agree on the schema definition.
This method performs a one-time check only, without any form of retry; therefore Cluster.Builder#withMaxSchemaAgreementWaitSeconds(int)does not apply in this case.
[中]检查当前运行的主机是否同意架构定义。
此方法只执行一次性检查,不进行任何形式的重试;因此,集群。生成器#withMaxSchemaAgreementWaitSeconds(int)不适用于这种情况。
代码示例来源:origin: apache/usergrid
/**
* Wait until all Cassandra nodes agree on the schema. Sleeps 100ms between checks.
*
*/
public void waitForSchemaAgreement() {
while ( true ) {
if( getClusterSession().getCluster().getMetadata().checkSchemaAgreement() ){
return;
}
//sleep and try it again
try {
Thread.sleep( 100 );
}
catch ( InterruptedException e ) {
//swallow
}
}
}
代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core
@Override
public Boolean call() throws Exception {
return cluster.getMetadata().checkSchemaAgreement();
}
}
代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core
/**
* Ensures that executing a query causing a schema change with a Cluster that has schema metadata
* disabled will still wait on schema agreement, but not refresh the schema.
*
* @jira_ticket JAVA-858
* @since 2.0.11
*/
@Test(groups = "short", dataProvider = "existingKeyspaceName")
public void should_not_refresh_schema_on_schema_change_response(String keyspace)
throws InterruptedException {
ResultSet rs = schemaDisabledSession.execute(String.format(CREATE_TABLE, keyspace));
// Should still wait on schema agreement.
assertThat(rs.getExecutionInfo().isSchemaInAgreement()).isTrue();
assertThat(schemaDisabledCluster.getMetadata().checkSchemaAgreement()).isTrue();
// Wait up to 1 second (since refreshSchema submitted in an executor) and check that
// refreshSchema never called.
verify(schemaDisabledControlConnection, after(1000).never())
.refreshSchema(
any(SchemaElement.class),
any(String.class),
any(String.class),
anyListOf(String.class));
}
代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core
@Test(groups = "short")
public void should_check_agreement_through_cluster_metadata() {
Cluster controlCluster = register(TestUtils.buildControlCluster(cluster(), ccm()));
Session controlSession = controlCluster.connect();
Row localRow = controlSession.execute("SELECT schema_version FROM system.local").one();
UUID localVersion = localRow.getUUID("schema_version");
Row peerRow = controlSession.execute("SELECT peer, schema_version FROM system.peers").one();
InetAddress peerAddress = peerRow.getInet("peer");
UUID peerVersion = peerRow.getUUID("schema_version");
// The two nodes should be in agreement at this point, but check just in case:
assertThat(localVersion).isEqualTo(peerVersion);
// Now check the method under test:
assertThat(cluster().getMetadata().checkSchemaAgreement()).isTrue();
// Insert a fake version to simulate a disagreement:
forceSchemaVersion(controlSession, peerAddress, UUIDs.random());
assertThat(cluster().getMetadata().checkSchemaAgreement()).isFalse();
forceSchemaVersion(controlSession, peerAddress, peerVersion);
}
代码示例来源:origin: smartcat-labs/cassandra-migration-tool-java
/**
* Checks whether hosts that are currently up agree on the schema definition.
*
* This method performs a one-time check only, without any form of retry; therefore
* {@link com.datastax.driver.core.Cluster.Builder#withMaxSchemaAgreementWaitSeconds(int)}
* does not apply in this case.
*
* @return {@code true} if all hosts agree on the schema; {@code false} if
* they don't agree, or if the check could not be performed
* (for example, if the control connection is down).
*/
protected boolean checkClusterSchemaAgreement() {
return this.session.getCluster().getMetadata().checkSchemaAgreement();
}
代码示例来源:origin: com.datastax.dse/dse-java-driver-core
@Override
public Boolean call() throws Exception {
return cluster.getMetadata().checkSchemaAgreement();
}
}
代码示例来源:origin: com.datastax.dse/dse-java-driver-core
/**
* Ensures that executing a query causing a schema change with a Cluster that has schema metadata
* disabled will still wait on schema agreement, but not refresh the schema.
*
* @jira_ticket JAVA-858
* @since 2.0.11
*/
@Test(groups = "short", dataProvider = "existingKeyspaceName")
public void should_not_refresh_schema_on_schema_change_response(String keyspace)
throws InterruptedException {
ResultSet rs = schemaDisabledSession.execute(String.format(CREATE_TABLE, keyspace));
// Should still wait on schema agreement.
assertThat(rs.getExecutionInfo().isSchemaInAgreement()).isTrue();
assertThat(schemaDisabledCluster.getMetadata().checkSchemaAgreement()).isTrue();
// Wait up to 1 second (since refreshSchema submitted in an executor) and check that
// refreshSchema never called.
verify(schemaDisabledControlConnection, after(1000).never())
.refreshSchema(
any(SchemaElement.class),
any(String.class),
any(String.class),
anyListOf(String.class));
}
代码示例来源:origin: com.datastax.dse/dse-java-driver-core
@Test(groups = "short")
public void should_check_agreement_through_cluster_metadata() {
Cluster controlCluster = register(TestUtils.buildControlCluster(cluster(), ccm()));
Session controlSession = controlCluster.connect();
Row localRow = controlSession.execute("SELECT schema_version FROM system.local").one();
UUID localVersion = localRow.getUUID("schema_version");
Row peerRow = controlSession.execute("SELECT peer, schema_version FROM system.peers").one();
InetAddress peerAddress = peerRow.getInet("peer");
UUID peerVersion = peerRow.getUUID("schema_version");
// The two nodes should be in agreement at this point, but check just in case:
assertThat(localVersion).isEqualTo(peerVersion);
// Now check the method under test:
assertThat(cluster().getMetadata().checkSchemaAgreement()).isTrue();
// Insert a fake version to simulate a disagreement:
forceSchemaVersion(controlSession, peerAddress, UUIDs.random());
assertThat(cluster().getMetadata().checkSchemaAgreement()).isFalse();
forceSchemaVersion(controlSession, peerAddress, peerVersion);
}
内容来源于网络,如有侵权,请联系作者删除!