com.datastax.driver.core.Metadata.checkSchemaAgreement()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中com.datastax.driver.core.Metadata.checkSchemaAgreement()方法的一些代码示例,展示了Metadata.checkSchemaAgreement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Metadata.checkSchemaAgreement()方法的具体详情如下:
包路径:com.datastax.driver.core.Metadata
类名称:Metadata
方法名:checkSchemaAgreement

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);
}

相关文章