[tests] clean-up on kudu::client::ScanToStrings With this patch, kudu::client::ScanToStrings() returns Status. The new signature is more convenient for localizing scan errors, if any.
Change-Id: I8e7ba56d2e946c1ac9a4db2ef3a542f0a118471d Reviewed-on: http://gerrit.cloudera.org:8080/7027 Reviewed-by: Todd Lipcon <[email protected]> Tested-by: Kudu Jenkins Project: http://git-wip-us.apache.org/repos/asf/kudu/repo Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/ca2704c7 Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/ca2704c7 Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/ca2704c7 Branch: refs/heads/master Commit: ca2704c7dd46b9dbbafa89e68fe977259448b8fa Parents: 3b934ae Author: Alexey Serbin <[email protected]> Authored: Tue May 30 23:53:05 2017 -0700 Committer: Alexey Serbin <[email protected]> Committed: Wed May 31 20:11:24 2017 +0000 ---------------------------------------------------------------------- src/kudu/client/client-test-util.cc | 9 +++--- src/kudu/client/client-test-util.h | 9 +++--- src/kudu/client/client-test.cc | 30 ++++++++++---------- .../alter_table-randomized-test.cc | 2 +- src/kudu/integration-tests/alter_table-test.cc | 2 +- .../integration-tests/client-stress-test.cc | 2 +- .../flex_partitioning-itest.cc | 28 +++++++++--------- 7 files changed, 41 insertions(+), 41 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/client/client-test-util.cc ---------------------------------------------------------------------- diff --git a/src/kudu/client/client-test-util.cc b/src/kudu/client/client-test-util.cc index 4d6a813..32a4020 100644 --- a/src/kudu/client/client-test-util.cc +++ b/src/kudu/client/client-test-util.cc @@ -59,7 +59,7 @@ void ScanTableToStrings(KuduTable* table, vector<string>* row_strings) { // of the retry code below. ASSERT_OK(scanner.SetSelection(KuduClient::LEADER_ONLY)); ASSERT_OK(scanner.SetTimeoutMillis(15000)); - ScanToStrings(&scanner, row_strings); + ASSERT_OK(ScanToStrings(&scanner, row_strings)); } int64_t CountTableRows(KuduTable* table) { @@ -111,15 +111,16 @@ Status CountRowsWithRetries(KuduScanner* scanner, size_t* row_count) { return Status::OK(); } -void ScanToStrings(KuduScanner* scanner, vector<string>* row_strings) { - ASSERT_OK(scanner->Open()); +Status ScanToStrings(KuduScanner* scanner, vector<string>* row_strings) { + RETURN_NOT_OK(scanner->Open()); vector<KuduRowResult> rows; while (scanner->HasMoreRows()) { - ASSERT_OK(scanner->NextBatch(&rows)); + RETURN_NOT_OK(scanner->NextBatch(&rows)); for (const KuduRowResult& row : rows) { row_strings->push_back(row.ToString()); } } + return Status::OK(); } KuduSchema KuduSchemaFromSchema(const Schema& schema) { http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/client/client-test-util.h ---------------------------------------------------------------------- diff --git a/src/kudu/client/client-test-util.h b/src/kudu/client/client-test-util.h index 7faed62..f3ff1f6 100644 --- a/src/kudu/client/client-test-util.h +++ b/src/kudu/client/client-test-util.h @@ -14,8 +14,8 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -#ifndef KUDU_CLIENT_CLIENT_TEST_UTIL_H -#define KUDU_CLIENT_CLIENT_TEST_UTIL_H + +#pragma once #include <string> #include <vector> @@ -54,12 +54,11 @@ int64_t CountTableRows(KuduTable* table); // count. The scan operations are retried a few times in case of a timeout. Status CountRowsWithRetries(KuduScanner* scanner, size_t* row_count); -void ScanToStrings(KuduScanner* scanner, std::vector<std::string>* row_strings); +Status ScanToStrings(KuduScanner* scanner, + std::vector<std::string>* row_strings) WARN_UNUSED_RESULT; // Convert a kudu::Schema to a kudu::client::KuduSchema. KuduSchema KuduSchemaFromSchema(const Schema& schema); } // namespace client } // namespace kudu - -#endif /* KUDU_CLIENT_CLIENT_TEST_UTIL_H */ http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/client/client-test.cc ---------------------------------------------------------------------- diff --git a/src/kudu/client/client-test.cc b/src/kudu/client/client-test.cc index a6c0f03..8e79e32 100644 --- a/src/kudu/client/client-test.cc +++ b/src/kudu/client/client-test.cc @@ -1346,7 +1346,7 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { vector<string> rows; KuduScanner scanner(table.get()); ASSERT_OK(scanner.SetFaultTolerant()); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(200, rows.size()); ASSERT_EQ(R"((int32 key=0, int32 int_val=0, string string_val="hello 0",)" @@ -1361,7 +1361,7 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { ASSERT_OK(scanner.SetFaultTolerant()); ASSERT_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", KuduPredicate::GREATER_EQUAL, KuduValue::FromInt(100)))); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(100, rows.size()); ASSERT_EQ(R"((int32 key=200, int32 int_val=400, string string_val="hello 200",)" @@ -1376,7 +1376,7 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { ASSERT_OK(scanner.SetFaultTolerant()); ASSERT_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", KuduPredicate::LESS_EQUAL, KuduValue::FromInt(199)))); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(100, rows.size()); ASSERT_EQ(R"((int32 key=0, int32 int_val=0, string string_val="hello 0",)" @@ -1391,9 +1391,9 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { ASSERT_OK(scanner.SetFaultTolerant()); ASSERT_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", KuduPredicate::LESS_EQUAL, KuduValue::FromInt(-1)))); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); - ASSERT_EQ(0, rows.size()); + ASSERT_TRUE(rows.empty()); } { // key >= 120 && key <= 180 @@ -1404,9 +1404,9 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { "key", KuduPredicate::GREATER_EQUAL, KuduValue::FromInt(120)))); ASSERT_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", KuduPredicate::LESS_EQUAL, KuduValue::FromInt(180)))); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); - ASSERT_EQ(0, rows.size()); + ASSERT_TRUE(rows.empty()); } { // key >= 300 @@ -1415,9 +1415,9 @@ TEST_F(ClientTest, TestNonCoveringRangePartitions) { ASSERT_OK(scanner.SetFaultTolerant()); ASSERT_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", KuduPredicate::GREATER_EQUAL, KuduValue::FromInt(300)))); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); - ASSERT_EQ(0, rows.size()); + ASSERT_TRUE(rows.empty()); } } @@ -1720,7 +1720,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 8)); ASSERT_OK(scanner.AddExclusiveUpperBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(8 - 5, rows.size()); EXPECT_EQ(all_rows[5], rows.front()); EXPECT_EQ(all_rows[7], rows.back()); @@ -1734,7 +1734,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 15)); ASSERT_OK(scanner.AddExclusiveUpperBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(15 - 5, rows.size()); EXPECT_EQ(all_rows[5], rows.front()); EXPECT_EQ(all_rows[14], rows.back()); @@ -1748,7 +1748,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 20)); ASSERT_OK(scanner.AddExclusiveUpperBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(20 - 15, rows.size()); EXPECT_EQ(all_rows[15], rows.front()); EXPECT_EQ(all_rows[19], rows.back()); @@ -1760,7 +1760,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 5)); ASSERT_OK(scanner.AddLowerBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(95, rows.size()); EXPECT_EQ(all_rows[5], rows.front()); EXPECT_EQ(all_rows[99], rows.back()); @@ -1772,7 +1772,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 5)); ASSERT_OK(scanner.AddExclusiveUpperBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(5, rows.size()); EXPECT_EQ(all_rows[0], rows.front()); EXPECT_EQ(all_rows[4], rows.back()); @@ -1784,7 +1784,7 @@ TEST_F(ClientTest, TestScanWithEncodedRangePredicate) { CHECK_OK(row->SetInt32(0, 15)); ASSERT_OK(scanner.AddExclusiveUpperBound(*row)); vector<string> rows; - ASSERT_NO_FATAL_FAILURE(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); ASSERT_EQ(15, rows.size()); EXPECT_EQ(all_rows[0], rows.front()); EXPECT_EQ(all_rows[14], rows.back()); http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/integration-tests/alter_table-randomized-test.cc ---------------------------------------------------------------------- diff --git a/src/kudu/integration-tests/alter_table-randomized-test.cc b/src/kudu/integration-tests/alter_table-randomized-test.cc index 4e125f7..c9af5e2 100644 --- a/src/kudu/integration-tests/alter_table-randomized-test.cc +++ b/src/kudu/integration-tests/alter_table-randomized-test.cc @@ -601,7 +601,7 @@ struct MirrorTable { ASSERT_OK(scanner.SetSelection(KuduClient::LEADER_ONLY)); ASSERT_OK(scanner.SetFaultTolerant()); scanner.SetTimeoutMillis(60000); - NO_FATALS(ScanToStrings(&scanner, &rows)); + ASSERT_OK(ScanToStrings(&scanner, &rows)); } // Then get our mock table. http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/integration-tests/alter_table-test.cc ---------------------------------------------------------------------- diff --git a/src/kudu/integration-tests/alter_table-test.cc b/src/kudu/integration-tests/alter_table-test.cc index 03d2395..3360271 100644 --- a/src/kudu/integration-tests/alter_table-test.cc +++ b/src/kudu/integration-tests/alter_table-test.cc @@ -1041,7 +1041,7 @@ TEST_F(AlterTableTest, TestReadHistoryAfterAlter) { // Delete then is assigned that timestamp. ASSERT_OK(scanner.SetSnapshotRaw(ts1 - 1)); vector<string> row_strings; - client::ScanToStrings(&scanner, &row_strings); + ASSERT_OK(client::ScanToStrings(&scanner, &row_strings)); ASSERT_EQ(1, row_strings.size()); ASSERT_EQ("(int32 c0=0, int32 c1=0, int32 c2=12345)", row_strings[0]); } http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/integration-tests/client-stress-test.cc ---------------------------------------------------------------------- diff --git a/src/kudu/integration-tests/client-stress-test.cc b/src/kudu/integration-tests/client-stress-test.cc index 43cc2da..e909b1a 100644 --- a/src/kudu/integration-tests/client-stress-test.cc +++ b/src/kudu/integration-tests/client-stress-test.cc @@ -78,7 +78,7 @@ class ClientStressTest : public KuduTest { CHECK_OK(scanner.AddConjunctPredicate(table->NewComparisonPredicate( "key", client::KuduPredicate::GREATER_EQUAL, client::KuduValue::FromInt(start_key)))); - ScanToStrings(&scanner, &rows); + CHECK_OK(ScanToStrings(&scanner, &rows)); } virtual bool multi_master() const { http://git-wip-us.apache.org/repos/asf/kudu/blob/ca2704c7/src/kudu/integration-tests/flex_partitioning-itest.cc ---------------------------------------------------------------------- diff --git a/src/kudu/integration-tests/flex_partitioning-itest.cc b/src/kudu/integration-tests/flex_partitioning-itest.cc index 32daa2b..7f90511 100644 --- a/src/kudu/integration-tests/flex_partitioning-itest.cc +++ b/src/kudu/integration-tests/flex_partitioning-itest.cc @@ -327,21 +327,21 @@ Status FlexPartitioningITest::InsertRows(const RangePartitionOptions& range_part void FlexPartitioningITest::CheckScanWithColumnPredicate(Slice col_name, int lower, int upper) { KuduScanner scanner(table_.get()); - CHECK_OK(scanner.SetTimeoutMillis(60000)); - CHECK_OK(scanner.AddConjunctPredicate(table_->NewComparisonPredicate( + ASSERT_OK(scanner.SetTimeoutMillis(60000)); + ASSERT_OK(scanner.AddConjunctPredicate(table_->NewComparisonPredicate( col_name, KuduPredicate::GREATER_EQUAL, KuduValue::FromInt(lower)))); - CHECK_OK(scanner.AddConjunctPredicate(table_->NewComparisonPredicate( + ASSERT_OK(scanner.AddConjunctPredicate(table_->NewComparisonPredicate( col_name, KuduPredicate::LESS_EQUAL, KuduValue::FromInt(upper)))); vector<string> rows; - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); std::sort(rows.begin(), rows.end()); // Manually evaluate the predicate against the data we think we inserted. vector<string> expected_rows; for (auto& row : inserted_rows_) { int32_t val; - CHECK_OK(row->GetInt32(col_name, &val)); + ASSERT_OK(row->GetInt32(col_name, &val)); if (val >= lower && val <= upper) { expected_rows.push_back("(" + row->ToString() + ")"); } @@ -357,23 +357,23 @@ void FlexPartitioningITest::CheckScanWithColumnPredicate(Slice col_name, int low void FlexPartitioningITest::CheckScanTokensWithColumnPredicate( Slice col_name, int lower, int upper, const vector<string>& expected_rows) { KuduScanTokenBuilder builder(table_.get()); - CHECK_OK(builder.SetTimeoutMillis(60000)); + ASSERT_OK(builder.SetTimeoutMillis(60000)); - CHECK_OK(builder.AddConjunctPredicate(table_->NewComparisonPredicate( + ASSERT_OK(builder.AddConjunctPredicate(table_->NewComparisonPredicate( col_name, KuduPredicate::GREATER_EQUAL, KuduValue::FromInt(lower)))); - CHECK_OK(builder.AddConjunctPredicate(table_->NewComparisonPredicate( + ASSERT_OK(builder.AddConjunctPredicate(table_->NewComparisonPredicate( col_name, KuduPredicate::LESS_EQUAL, KuduValue::FromInt(upper)))); vector<KuduScanToken*> tokens; ElementDeleter DeleteTable(&tokens); - CHECK_OK(builder.Build(&tokens)); + ASSERT_OK(builder.Build(&tokens)); vector<string> rows; for (auto token : tokens) { KuduScanner* scanner_ptr; - CHECK_OK(token->IntoKuduScanner(&scanner_ptr)); + ASSERT_OK(token->IntoKuduScanner(&scanner_ptr)); unique_ptr<KuduScanner> scanner(scanner_ptr); - ScanToStrings(scanner.get(), &rows); + ASSERT_OK(ScanToStrings(scanner.get(), &rows)); } std::sort(rows.begin(), rows.end()); @@ -387,7 +387,7 @@ void FlexPartitioningITest::CheckPKRangeScan(int lower, int upper) { ASSERT_OK(scanner.AddLowerBound(*inserted_rows_[lower])); ASSERT_OK(scanner.AddExclusiveUpperBound(*inserted_rows_[upper])); vector<string> rows; - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); std::sort(rows.begin(), rows.end()); vector<string> expected_rows; @@ -419,7 +419,7 @@ void FlexPartitioningITest::CheckPartitionKeyRangeScan() { scanner.SetTimeoutMillis(60000); ASSERT_OK(scanner.AddLowerBoundPartitionKeyRaw(partition_key_start)); ASSERT_OK(scanner.AddExclusiveUpperBoundPartitionKeyRaw(partition_key_end)); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); } std::sort(rows.begin(), rows.end()); @@ -454,7 +454,7 @@ void FlexPartitioningITest::CheckPartitionKeyRangeScanWithPKRange(int lower, int ASSERT_OK(scanner.AddExclusiveUpperBoundPartitionKeyRaw(partition_key_end)); ASSERT_OK(scanner.AddLowerBound(*inserted_rows_[lower])); ASSERT_OK(scanner.AddExclusiveUpperBound(*inserted_rows_[upper])); - ScanToStrings(&scanner, &rows); + ASSERT_OK(ScanToStrings(&scanner, &rows)); } std::sort(rows.begin(), rows.end());
