Esempio n. 1
0
CassCluster* create_cluster() {
  CassCluster* cluster = cass_cluster_new();
  cass_cluster_set_contact_points(cluster, "127.0.0.1");
  cass_cluster_set_credentials(cluster, "cassandra", "cassandra");
  cass_cluster_set_num_threads_io(cluster, NUM_IO_WORKER_THREADS);
  cass_cluster_set_queue_size_io(cluster, 10000);
  cass_cluster_set_pending_requests_low_water_mark(cluster, 5000);
  cass_cluster_set_pending_requests_high_water_mark(cluster, 10000);
  cass_cluster_set_core_connections_per_host(cluster, 1);
  cass_cluster_set_max_connections_per_host(cluster, 2);
  cass_cluster_set_max_requests_per_flush(cluster, 10000);
  return cluster;
}
Esempio n. 2
0
MultipleNodesTest::MultipleNodesTest(unsigned int num_nodes_dc1, unsigned int num_nodes_dc2, unsigned int protocol_version, bool isSSL /* = false */)
  : conf(cql::get_ccm_bridge_configuration()) {
  boost::debug::detect_memory_leaks(false);
  ccm = cql::cql_ccm_bridge_t::create_and_start(conf, "test", num_nodes_dc1, num_nodes_dc2, isSSL);
  version = ccm->version();

  uuid_gen = cass_uuid_gen_new();
  cluster = cass_cluster_new();
  initialize_contact_points(cluster, conf.ip_prefix(), num_nodes_dc1, num_nodes_dc2);

  cass_cluster_set_connect_timeout(cluster, 10 * ONE_SECOND_IN_MICROS);
  cass_cluster_set_request_timeout(cluster, 30 * ONE_SECOND_IN_MICROS);
  cass_cluster_set_core_connections_per_host(cluster, 2);
  cass_cluster_set_max_connections_per_host(cluster, 4);
  cass_cluster_set_num_threads_io(cluster, 4);
  cass_cluster_set_max_concurrent_creation(cluster, 8);
  cass_cluster_set_protocol_version(cluster, protocol_version);
}
void CassDriver::CreateCluster() {
  int pos = FLAGS_contact_ip_and_port.find(':');
  if (pos == std::string::npos) {
    printf("Wrong format in contact_ip_and_port, use ip:port !\n");
    return;
  }
  std::string contact_point = FLAGS_contact_ip_and_port.substr(0, pos);
  std::string str_port = FLAGS_contact_ip_and_port.substr(pos + 1);
  int port = std::atoi(str_port.c_str());
  cluster_ = cass_cluster_new();
  cass_cluster_set_contact_points(cluster_, contact_point.c_str());
  cass_cluster_set_port(cluster_, port);
  cass_cluster_set_log_level(cluster_, ParseLogLevel(FLAGS_log_level));
  cass_cluster_set_num_threads_io(cluster_, FLAGS_num_threads_io);
  cass_cluster_set_queue_size_io(cluster_, FLAGS_queue_size_io);
  cass_cluster_set_pending_requests_low_water_mark(cluster_,
                                                   FLAGS_pending_req_low);
  cass_cluster_set_pending_requests_high_water_mark(cluster_,
                                                   FLAGS_pending_req_high);
  cass_cluster_set_core_connections_per_host(cluster_, FLAGS_core_connections);
  cass_cluster_set_max_connections_per_host(cluster_, FLAGS_max_connections);
}
Esempio n. 4
0
  /**
   * Create the Cassandra cluster, initialize the cpp-driver cluster, and create
   * the connection to the cluster.
   *
   * @param is_ssl True if SSL should be enabled on Cassandra cluster; false
   *               otherwise (default: true)
   * @param is_client_authentication True if client authentication should be
   *                                 enabled on Cassandra cluster; false otherwise
   *                                 (default: false)
   * @param is_failure True if test is supposed to fail; false otherwise
   *                   (default: false)
   * @param nodes Number of nodes for the cluster (default: 1)
   */
  void setup(bool is_ssl = true, bool is_client_authentication = false, bool is_failure = false, unsigned int nodes = 1) {
    //Create a n-node cluster
    ccm_->create_cluster(nodes, 0, false, is_ssl, is_client_authentication);
    ccm_->start_cluster();

    //Initialize the cpp-driver
    cluster_ = cass_cluster_new();
    test_utils::initialize_contact_points(cluster_, ccm_->get_ip_prefix(), nodes);
    cass_cluster_set_connect_timeout(cluster_, 10000);
    cass_cluster_set_request_timeout(cluster_, 10000);
    cass_cluster_set_num_threads_io(cluster_, 1);
    cass_cluster_set_core_connections_per_host(cluster_, 2);
    cass_cluster_set_max_connections_per_host(cluster_, 4);
    cass_cluster_set_ssl(cluster_, ssl_);

    //Establish the connection (if ssl)
    session_ = cass_session_new();
    connect_future_ = cass_session_connect(session_, cluster_);
    if (!is_failure) {
      test_utils::wait_and_check_error(connect_future_);
    } else {
      BOOST_REQUIRE(!cass_future_wait_timed(connect_future_, 2000)); //Ensure the wait is long enough for slow machines
    }
  }