diff options
author | chertus <azuikov@ydb.tech> | 2023-05-22 22:38:53 +0300 |
---|---|---|
committer | chertus <azuikov@ydb.tech> | 2023-05-22 22:38:53 +0300 |
commit | 09dbf8e905ff4109b2a298e8c85eb62b11003397 (patch) | |
tree | 485ad030b82d7bddcd5cd27280434dd408754da3 | |
parent | abe3316ae3c40ced433b6cb0b524b6a8e2701e09 (diff) | |
download | ydb-09dbf8e905ff4109b2a298e8c85eb62b11003397.tar.gz |
improve test
-rw-r--r-- | ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp index b8e63a6f582..12673e9bdbe 100644 --- a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp +++ b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp @@ -2098,7 +2098,10 @@ Y_UNIT_TEST_SUITE(TColumnShardTestReadWrite) { ForwardToTablet(Owner.Runtime, TTestTxConfig::TxTablet0, sender, read.release()); } - { + ui32 numRows = 0; + std::vector<std::shared_ptr<arrow::RecordBatch>> batches; + ui32 expected = 100; + for (ui32 i = 0; i < expected; ++i) { TAutoPtr<IEventHandle> handle; auto event = Owner.Runtime.GrabEdgeEvent<TEvColumnShard::TEvReadResult>(handle); UNIT_ASSERT(event); @@ -2110,9 +2113,9 @@ Y_UNIT_TEST_SUITE(TColumnShardTestReadWrite) { UNIT_ASSERT_EQUAL(resRead.GetOrigin(), TTestTxConfig::TxTablet0); UNIT_ASSERT_EQUAL(resRead.GetTxInitiator(), metaShard); UNIT_ASSERT_EQUAL(resRead.GetStatus(), NKikimrTxColumnShard::EResultStatus::SUCCESS); - UNIT_ASSERT(resRead.GetFinished()); - UNIT_ASSERT(!resRead.GetBatch()); if (ExpectedCount && !*ExpectedCount && !DataReadOnEmpty) { + UNIT_ASSERT(!resRead.GetBatch()); + UNIT_ASSERT(resRead.GetFinished()); UNIT_ASSERT(!resRead.GetData().size()); } else { UNIT_ASSERT(resRead.GetData().size()); @@ -2123,25 +2126,37 @@ Y_UNIT_TEST_SUITE(TColumnShardTestReadWrite) { UNIT_ASSERT(schema); auto batch = NArrow::DeserializeBatch(resRead.GetData(), schema); UNIT_ASSERT(batch); - if (ExpectedCount) { - if (batch->num_rows() != *ExpectedCount) { - Cerr << batch->ToString() << "\n"; - } - UNIT_ASSERT_VALUES_EQUAL(batch->num_rows(), *ExpectedCount); + + numRows += batch->num_rows(); + batches.emplace_back(batch); + + if (resRead.GetFinished()) { + UNIT_ASSERT(meta.HasReadStats()); + auto& readStats = meta.GetReadStats(); + + UNIT_ASSERT(readStats.GetBeginTimestamp()); + UNIT_ASSERT(readStats.GetDurationUsec()); + UNIT_ASSERT_VALUES_EQUAL(readStats.GetSelectedIndex(), 0); + UNIT_ASSERT(readStats.GetIndexBatches()); + //UNIT_ASSERT_VALUES_EQUAL(readStats.GetNotIndexedBatches(), 0); // TODO + UNIT_ASSERT_VALUES_EQUAL(readStats.GetSchemaColumns(), 7); // planStep, txId + 4 PK columns + "message" + //UNIT_ASSERT_VALUES_EQUAL(readStats.GetIndexGranules(), 1); + //UNIT_ASSERT_VALUES_EQUAL(readStats.GetIndexPortions(), 0); // TODO: min-max index optimization? } + } + if (resRead.GetFinished()) { + expected = resRead.GetBatch(); + } + } + UNIT_ASSERT(expected < 100); - UNIT_ASSERT(meta.HasReadStats()); - auto& readStats = meta.GetReadStats(); - - UNIT_ASSERT(readStats.GetBeginTimestamp()); - UNIT_ASSERT(readStats.GetDurationUsec()); - UNIT_ASSERT_VALUES_EQUAL(readStats.GetSelectedIndex(), 0); - UNIT_ASSERT(readStats.GetIndexBatches()); - //UNIT_ASSERT_VALUES_EQUAL(readStats.GetNotIndexedBatches(), 0); // TODO - UNIT_ASSERT_VALUES_EQUAL(readStats.GetSchemaColumns(), 7); // planStep, txId + 4 PK columns + "message" - //UNIT_ASSERT_VALUES_EQUAL(readStats.GetIndexGranules(), 1); - //UNIT_ASSERT_VALUES_EQUAL(readStats.GetIndexPortions(), 0); // TODO: min-max index optimization? + if (ExpectedCount) { + if (numRows != *ExpectedCount) { + for (auto& batch : batches) { + Cerr << batch->ToString() << "\n"; + } } + UNIT_ASSERT_VALUES_EQUAL(numRows, *ExpectedCount); } } |