Skip to content

Commit 0ef2e58

Browse files
authored
Merge pull request #4 from riptano/2.14.0_prep
2.14.0 release preparation
2 parents 3dd6cf9 + 302ade2 commit 0ef2e58

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+891
-291
lines changed

CHANGELOG.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1+
2.14.0
2+
===========
3+
4+
Bug Fixes
5+
--------
6+
* [CPP-819] - Ensure port is updated on already assigned contact points
7+
18
2.14.0-alpha2
29
===========
310

411
Features
512
--------
6-
[CPP-812] - Enable warnings for implicit casts and fix problems
7-
[CPP-813] - Detect CaaS and change consistency default
8-
[CPP-817] - Provide error if mixed usage of secure connect bundle and contact points/ssl context
13+
* [CPP-812] - Enable warnings for implicit casts and fix problems
14+
* [CPP-813] - Detect CaaS and change consistency default
15+
* [CPP-817] - Provide error if mixed usage of secure connect bundle and contact points/ssl context
916

1017
Bug Fixes
1118
--------
12-
[CPP-802] - Handle prepared id mismatch when repreparing on the fly
13-
[CPP-815] - Schema agreement fails with SNI
14-
[CPP-811] - Requests won't complete if they exceed the number of streams on a connection
19+
* [CPP-802] - Handle prepared id mismatch when repreparing on the fly
20+
* [CPP-815] - Schema agreement fails with SNI
21+
* [CPP-811] - Requests won't complete if they exceed the number of streams on a connection
1522

1623
2.14.0-alpha
1724
===========

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ environment:
3939
DRIVER_TYPE: CASS
4040
BOOST_VERSION: 1.69.0
4141
LIBSSH2_VERSION: 1.9.0
42-
LIBUV_VERSION: 1.32.0
42+
LIBUV_VERSION: 1.33.0
4343
OPENSSL_1_0_VERSION: 1.0.2s
4444
OPENSSL_1_1_VERSION: 1.1.1c
4545
ZLIB_VERSION: 1.2.11

build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ os:
3333
- centos/7-64/cpp
3434
- osx/high-sierra
3535
env:
36-
LIBUV_VERSION: 1.32.0
36+
LIBUV_VERSION: 1.33.0
3737
build:
3838
- script: |
3939
. .build.sh

docs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ rewrites:
5353
- http://www.datastax.com/documentation/cql/3.1: https://docs.datastax.com/en/archived/cql/3.1
5454
- http://www.datastax.com/documentation/cassandra/2.: https://docs.datastax.com/en/archived/cassandra/2.
5555
- http://downloads.datastax.com/cpp-driver: https://downloads.datastax.com/cpp-driver/
56+
- http://www.datastax.com/dev/blog/datastax-c-driver(.*)$: https://www.datastax.com/blog/
5657
rules:
5758
use_path_nav_files_only: true
5859

gtests/src/integration/integration.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Integration::Integration()
6565
// Determine if the schema keyspaces table should be updated
6666
// TODO: Make cass_version (and dse_version) available for all tests
6767
CCM::CassVersion cass_version = server_version_;
68-
if (Options::is_dse()) {
68+
if (!Options::is_cassandra()) {
6969
cass_version = static_cast<CCM::DseVersion>(cass_version).get_cass_version();
7070
}
7171
if (cass_version >= "3.0.0") {
@@ -145,7 +145,7 @@ void Integration::SetUp() {
145145
// Create and start the CCM cluster (if not already created)
146146
ccm_ = new CCM::Bridge(
147147
server_version_, Options::use_git(), Options::branch_tag(), Options::use_install_dir(),
148-
Options::install_dir(), Options::is_dse(), dse_workload_, Options::cluster_prefix(),
148+
Options::install_dir(), Options::server_type(), dse_workload_, Options::cluster_prefix(),
149149
Options::dse_credentials(), Options::dse_username(), Options::dse_password(),
150150
Options::deployment_type(), Options::authentication_type(), Options::host(),
151151
Options::port(), Options::username(), Options::password(), Options::public_key(),
@@ -319,6 +319,10 @@ void Integration::connect(Cluster cluster) {
319319

320320
// Update the server version if branch_tag was specified
321321
if (Options::use_git() && !Options::branch_tag().empty()) {
322+
if (Options::is_ddac()) {
323+
FAIL() << "Unable to build DDAC from Branch/Tag";
324+
return;
325+
}
322326
if (Options::is_dse()) {
323327
server_version_ = ccm_->get_dse_version();
324328
} else {

gtests/src/integration/integration.hpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,13 @@
3737

3838
// Macros for grouping tests together
3939
#define GROUP_TEST_F(group_name, test_case, test_name) TEST_F(test_case, group_name##_##test_name)
40+
#define GROUP_TEST(group_name, test_case, test_name) TEST(test_case, group_name##_##test_name)
4041
#define GROUP_TYPED_TEST_P(group_name, test_case, test_name) \
4142
TYPED_TEST_P(test_case, group_name##_##test_name)
4243

4344
// Macros to use for grouping integration tests together
44-
#define GROUP_INTEGRATION_TEST(server_type) GROUP_CONCAT(Integration, server_type)
45+
#define INTEGRATION_TEST(server_type, test_case, test_name) \
46+
GROUP_TEST(Integration##_##server_type, test_case, test_name)
4547
#define INTEGRATION_TEST_F(server_type, test_case, test_name) \
4648
GROUP_TEST_F(Integration##_##server_type, test_case, test_name)
4749
#define INTEGRATION_TYPED_TEST_P(server_type, test_case, test_name) \
@@ -52,7 +54,8 @@
5254
GROUP_TYPED_TEST_P(DISABLED##_##Integration##_##server_type, test_case, est_name)
5355

5456
// Macros to use for grouping Cassandra integration tests together
55-
#define CASSANDRA_TEST_NAME(test_name) Integration##_##Cassandra##_##test_name
57+
#define CASSANDRA_INTEGRATION_TEST(test_case, test_name) \
58+
INTEGRATION_TEST(Cassandra, test_case, test_name)
5659
#define CASSANDRA_INTEGRATION_TEST_F(test_case, test_name) \
5760
INTEGRATION_TEST_F(Cassandra, test_case, test_name)
5861
#define CASSANDRA_INTEGRATION_TYPED_TEST_P(test_case, test_name) \
@@ -83,7 +86,7 @@
8386
#define CHECK_VERSION(version) \
8487
do { \
8588
CCM::CassVersion cass_version = this->server_version_; \
86-
if (Options::is_dse()) { \
89+
if (!Options::is_cassandra()) { \
8790
cass_version = static_cast<CCM::DseVersion>(cass_version).get_cass_version(); \
8891
} \
8992
if (cass_version < #version) { \
@@ -98,7 +101,7 @@
98101

99102
#define CHECK_VALUE_TYPE_VERSION(type) \
100103
CCM::CassVersion cass_version = this->server_version_; \
101-
if (Options::is_dse()) { \
104+
if (!Options::is_cassandra()) { \
102105
cass_version = static_cast<CCM::DseVersion>(cass_version).get_cass_version(); \
103106
} \
104107
if (cass_version < type::supported_server_version()) { \

gtests/src/integration/options.cpp

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
#include <iostream>
2525

2626
#define DEFAULT_OPTIONS_CASSSANDRA_VERSION CCM::CassVersion("3.11.4")
27-
#define DEFAULT_OPTIONS_DSE_VERSION CCM::DseVersion("6.0.8")
27+
#define DEFAULT_OPTIONS_DSE_VERSION CCM::DseVersion("6.7.5")
28+
#define DEFAULT_OPTIONS_DDAC_VERSION CCM::DseVersion("5.1.17")
2829

2930
// Initialize the defaults for all the options
3031
bool Options::is_initialized_ = false;
3132
bool Options::is_help_ = false;
3233
bool Options::is_keep_clusters_ = false;
3334
bool Options::is_log_tests_ = true;
3435
CCM::CassVersion Options::server_version_ = DEFAULT_OPTIONS_CASSSANDRA_VERSION;
35-
bool Options::is_dse_ = false;
3636
bool Options::use_git_ = false;
3737
std::string Options::branch_tag_;
3838
bool Options::use_install_dir_ = false;
@@ -55,6 +55,7 @@ CCM::DseCredentialsType Options::dse_credentials_type_;
5555
CCM::AuthenticationType Options::authentication_type_;
5656
CCM::DeploymentType Options::deployment_type_;
5757
std::set<TestCategory> Options::categories_;
58+
CCM::ServerType Options::server_type_;
5859

5960
bool Options::initialize(int argc, char* argv[]) {
6061
// Only allow initialization to occur once
@@ -63,6 +64,7 @@ bool Options::initialize(int argc, char* argv[]) {
6364
dse_credentials_type_ = CCM::DseCredentialsType::USERNAME_PASSWORD;
6465
authentication_type_ = CCM::AuthenticationType::USERNAME_PASSWORD;
6566
deployment_type_ = CCM::DeploymentType::LOCAL;
67+
server_type_ = CCM::ServerType::CASSANDRA;
6668

6769
// Check for the help argument first (keeps defaults for help display)
6870
for (int i = 1; i < argc; ++i) {
@@ -77,6 +79,8 @@ bool Options::initialize(int argc, char* argv[]) {
7779
for (int i = 1; i < argc; ++i) {
7880
if (std::string(argv[i]) == "--dse") {
7981
server_version_ = DEFAULT_OPTIONS_DSE_VERSION;
82+
} else if (std::string(argv[i]) == "--ddac") {
83+
server_version_ = DEFAULT_OPTIONS_DDAC_VERSION;
8084
}
8185
}
8286

@@ -107,7 +111,9 @@ bool Options::initialize(int argc, char* argv[]) {
107111
<< std::endl;
108112
}
109113
} else if (key == "--dse") {
110-
is_dse_ = true;
114+
server_type_ = CCM::ServerType::DSE;
115+
} else if (key == "--ddac") {
116+
server_type_ = CCM::ServerType::DDAC;
111117
} else if (key == "--dse-username") {
112118
if (!value.empty()) {
113119
dse_username_ = value;
@@ -129,7 +135,7 @@ bool Options::initialize(int argc, char* argv[]) {
129135
}
130136
}
131137
if (!is_found) {
132-
std::cerr << "Invalid DSE Credentials Type: Using default "
138+
std::cerr << "Invalid DSE/DDAC Credentials Type: Using default "
133139
<< dse_credentials_type_.to_string() << std::endl;
134140
}
135141
} else if (key == "--git") {
@@ -272,7 +278,7 @@ bool Options::initialize(int argc, char* argv[]) {
272278
for (TestCategory::iterator iterator = TestCategory::begin(); iterator != TestCategory::end();
273279
++iterator) {
274280
// Only add the DSE test category if DSE is enabled
275-
if (*iterator != TestCategory::DSE || is_dse_) {
281+
if (*iterator != TestCategory::DSE || is_dse()) {
276282
categories_.insert(*iterator);
277283
} else {
278284
std::cerr << "DSE Category Will be Ignored: DSE is not enabled [--dse]" << std::endl;
@@ -282,11 +288,11 @@ bool Options::initialize(int argc, char* argv[]) {
282288
if (deployment_type_ == CCM::DeploymentType::LOCAL) {
283289
host_ = "127.0.0.1";
284290
}
285-
if (is_dse_ && !use_install_dir_) {
286-
// Determine if the DSE credentials type should be updated
291+
if (!is_cassandra() && !use_install_dir_) {
292+
// Determine if the DSE/DDAC credentials type should be updated
287293
if (dse_credentials_type_ == CCM::DseCredentialsType::USERNAME_PASSWORD) {
288294
if (dse_username_.empty() || dse_password_.empty()) {
289-
std::cerr << "Invalid Username and/or Password: Default to INI_FILE DSE credentials"
295+
std::cerr << "Invalid Username and/or Password: Default to INI_FILE DSE/DDAC credentials"
290296
<< std::endl;
291297
dse_credentials_type_ = CCM::DseCredentialsType::INI_FILE;
292298
}
@@ -309,10 +315,11 @@ void Options::print_help() {
309315
std::cout << std::endl << "CCM Options:" << std::endl;
310316
std::cout << " --version=[VERSION]" << std::endl
311317
<< " "
312-
<< "Cassandra/DSE version to use." << std::endl
318+
<< "Cassandra/DSE/DDAC version to use." << std::endl
313319
<< " Default:" << std::endl
314320
<< " Cassandra Version: " << server_version().to_string() << std::endl
315-
<< " DSE Version: " << DEFAULT_OPTIONS_DSE_VERSION.to_string() << std::endl;
321+
<< " DSE Version: " << DEFAULT_OPTIONS_DSE_VERSION.to_string() << std::endl
322+
<< " DDAC Version: " << DEFAULT_OPTIONS_DDAC_VERSION.to_string() << std::endl;
316323
std::string categories;
317324
for (TestCategory::iterator iterator = TestCategory::begin(); iterator != TestCategory::end();
318325
++iterator) {
@@ -330,16 +337,20 @@ void Options::print_help() {
330337
std::cout << " --dse" << std::endl
331338
<< " "
332339
<< "Indicate server version supplied is DSE." << std::endl;
340+
std::cout << " --ddac" << std::endl
341+
<< " "
342+
<< "Indicate server version supplied is DDAC." << std::endl;
333343
std::cout << " --dse-credentials=(USERNAME_PASSWORD|INI_FILE)" << std::endl
334344
<< " "
335-
<< "DSE credentials to use for download authentication. The default is " << std::endl
345+
<< "DSE/DDAC credentials to use for download authentication. The default is "
346+
<< std::endl
336347
<< " " << dse_credentials().to_string() << "." << std::endl;
337348
std::cout << " --dse-username=[USERNAME]" << std::endl
338349
<< " "
339-
<< "Username to use for DSE download authentication." << std::endl;
350+
<< "Username to use for DSE/DDAC download authentication." << std::endl;
340351
std::cout << " --dse-password=[PASSWORD]" << std::endl
341352
<< " "
342-
<< "Password to use for DSE download authentication." << std::endl;
353+
<< "Password to use for DSE/DDAC download authentication." << std::endl;
343354
std::cout << " --git" << std::endl
344355
<< " "
345356
<< "Indicate Cassandra/DSE server download should be obtained from" << std::endl
@@ -408,18 +419,20 @@ void Options::print_settings() {
408419
if (log_tests()) {
409420
std::cout << " Logging driver messages" << std::endl;
410421
}
411-
if (is_dse()) {
412-
std::cout << " DSE Version: " << CCM::DseVersion(server_version()).to_string() << std::endl;
422+
if (!is_cassandra()) {
423+
std::cout << " " << server_type_.to_string()
424+
<< " Version: " << CCM::DseVersion(server_version()).to_string() << std::endl;
413425
if (!use_install_dir()) {
414426
if (dse_credentials() == CCM::DseCredentialsType::USERNAME_PASSWORD) {
415427
std::cout << " Username: " << dse_username() << std::endl;
416428
std::cout << " Password: " << dse_password() << std::endl;
417429
} else {
418-
std::cout << " Using INI file for DSE download authentication" << std::endl;
430+
std::cout << " Using INI file for DSE/DDAC download authentication" << std::endl;
419431
}
420432
}
421433
} else {
422-
std::cout << " Cassandra Version: " << server_version().to_string() << std::endl;
434+
std::cout << " " << server_type_.to_string() << " Version: " << server_version().to_string()
435+
<< std::endl;
423436
}
424437
if (use_install_dir()) {
425438
std::cout << " Using installation directory [" << install_dir() << "]" << std::endl;
@@ -456,7 +469,13 @@ bool Options::log_tests() { return is_log_tests_; }
456469

457470
CCM::CassVersion Options::server_version() { return server_version_; }
458471

459-
bool Options::is_dse() { return is_dse_; }
472+
CCM::ServerType Options::server_type() { return server_type_; }
473+
474+
bool Options::is_cassandra() { return server_type_ == CCM::ServerType::CASSANDRA; }
475+
476+
bool Options::is_dse() { return server_type_ == CCM::ServerType::DSE; }
477+
478+
bool Options::is_ddac() { return server_type_ == CCM::ServerType::DDAC; }
460479

461480
CCM::DseCredentialsType Options::dse_credentials() {
462481
// Static initialization cannot be guaranteed
@@ -514,7 +533,7 @@ const std::string& Options::private_key() { return private_key_; }
514533

515534
SharedPtr<CCM::Bridge, StdDeleter<CCM::Bridge> > Options::ccm() {
516535
return new CCM::Bridge(Options::server_version(), Options::use_git(), Options::branch_tag(),
517-
Options::use_install_dir(), Options::install_dir(), Options::is_dse(),
536+
Options::use_install_dir(), Options::install_dir(), Options::server_type(),
518537
CCM::Bridge::DEFAULT_DSE_WORKLOAD, Options::cluster_prefix(),
519538
Options::dse_credentials(), Options::dse_username(),
520539
Options::dse_password(), Options::deployment_type(),

gtests/src/integration/options.hpp

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,35 @@ class Options {
6767
*/
6868
static bool log_tests();
6969
/**
70-
* Get the server version (Cassandra/DSE) to use
70+
* Get the server version (Cassandra/DSE/DDAC) to use
7171
*
72-
* @return Cassandra/DSE version to use
72+
* @return Cassandra/DSE/DDAC version to use
7373
*/
7474
static CCM::CassVersion server_version();
75+
/**
76+
* Get the server type (Cassandra/DSE/DDAC)
77+
*
78+
* @return Server type
79+
*/
80+
static CCM::ServerType server_type();
81+
/**
82+
* Flag to determine if Cassandra should be used or not
83+
*
84+
* @return True if Cassandra should be used; false otherwise
85+
*/
86+
static bool is_cassandra();
7587
/**
7688
* Flag to determine if DSE should be used or not
7789
*
7890
* @return True if DSE should be used; false otherwise
7991
*/
8092
static bool is_dse();
93+
/**
94+
* Flag to determine if DDAC should be used or not
95+
*
96+
* @return True if DDAC should be used; false otherwise
97+
*/
98+
static bool is_ddac();
8199
/**
82100
* Get the DSE credentials type (username|password/INI file)
83101
*
@@ -240,13 +258,13 @@ class Options {
240258
*/
241259
static bool is_log_tests_;
242260
/**
243-
* Server version to use (Cassandra/DSE)
261+
* Server version to use (Cassandra/DSE/DDAC)
244262
*/
245263
static CCM::CassVersion server_version_;
246264
/**
247-
* Flag to indicate if DSE should be used instead of Cassandra
265+
* Server type to use
248266
*/
249-
static bool is_dse_;
267+
static CCM::ServerType server_type_;
250268
/**
251269
* Flag to determine if Cassandra should be built from ASF git (github if DSE)
252270
*/

gtests/src/integration/simulacron/simulacron_cluster.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ test::SimulacronCluster::SimulacronCluster()
6666

6767
// Determine the release version (for priming nodes)
6868
CCM::CassVersion cassandra_version = Options::server_version();
69-
if (Options::is_dse()) {
69+
if (!Options::is_cassandra()) {
7070
CCM::DseVersion dse_version(cassandra_version);
7171
cassandra_version = dse_version.get_cass_version();
7272
if (cassandra_version == "0.0.0") {
@@ -127,7 +127,7 @@ void test::SimulacronCluster::create_cluster(
127127
}
128128

129129
// Add the DSE version (if applicable)
130-
if (Options::is_dse()) {
130+
if (!Options::is_cassandra()) {
131131
paramters << "&dse_version=" << dse_version_;
132132
cluster_name << dse_version_;
133133
} else {

gtests/src/integration/simulacron/simulacron_integration.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
#include <uv.h>
2323

2424
// Macros to use for grouping Simulacron integration tests together
25-
#define SIMULACRON_TEST_NAME(test_name) Integration##_##simulacron##_##test_name
25+
#define SIMULACRON_INTEGRATION_TEST(test_case, test_name) \
26+
INTEGRATION_TEST(Simulacron, test_case, test_name)
2627
#define SIMULACRON_INTEGRATION_TEST_F(test_case, test_name) \
27-
INTEGRATION_TEST_F(simulacron, test_case, test_name)
28+
INTEGRATION_TEST_F(Simulacron, test_case, test_name)
2829
#define SIMULACRON_INTEGRATION_TYPED_TEST_P(test_case, test_name) \
29-
INTEGRATION_TYPED_TEST_P(simulacron, test_case, test_name)
30+
INTEGRATION_TYPED_TEST_P(Simulacron, test_case, test_name)
3031

3132
#define CHECK_SIMULACRON_AVAILABLE \
3233
if (!sc_) { \

0 commit comments

Comments
 (0)