aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilnaz <ilnaz@ydb.tech>2023-01-26 13:48:53 +0300
committerilnaz <ilnaz@ydb.tech>2023-01-26 13:48:53 +0300
commit6c4c16e9b7953c0cebd7ffd6d96b60a5b1e78113 (patch)
tree89d7c3d1e4b07d1c5fe3907cfabf3262149ebca5
parentd88207c3ba580a86038ac794b9eb8cb4a645a033 (diff)
downloadydb-6c4c16e9b7953c0cebd7ffd6d96b60a5b1e78113.tar.gz
(refactoring) Common ttl checker for oltp & olap tables
-rw-r--r--ydb/core/tx/schemeshard/ut_ttl.cpp96
1 files changed, 43 insertions, 53 deletions
diff --git a/ydb/core/tx/schemeshard/ut_ttl.cpp b/ydb/core/tx/schemeshard/ut_ttl.cpp
index 02c1eb175b8..49d3478446e 100644
--- a/ydb/core/tx/schemeshard/ut_ttl.cpp
+++ b/ydb/core/tx/schemeshard/ut_ttl.cpp
@@ -9,39 +9,29 @@ using namespace NSchemeShardUT_Private;
namespace {
-void CheckTTLSettings(TTestActorRuntime& runtime, const char* tableName = "TTLEnabledTable") {
- TestDescribeResult(
- DescribePath(runtime, Sprintf("/MyRoot/%s", tableName)), {
- NLs::PathExist,
- NLs::Finished, [=] (const NKikimrScheme::TEvDescribeSchemeResult& record) {
- const auto& table = record.GetPathDescription().GetTable();
- UNIT_ASSERT(table.HasTTLSettings());
+template <typename TTtlSettings>
+void CheckTtlSettings(const TTtlSettings& ttl, const char* ttlColumnName) {
+ UNIT_ASSERT(ttl.HasEnabled());
+ UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetColumnName(), ttlColumnName);
+ UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetExpireAfterSeconds(), 3600);
+}
- const auto& ttl = table.GetTTLSettings();
- UNIT_ASSERT(ttl.HasEnabled());
- UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetColumnName(), "modified_at");
- UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetExpireAfterSeconds(), 3600);
- }
- }
- );
+void OltpTtlChecker(const NKikimrScheme::TEvDescribeSchemeResult& record) {
+ CheckTtlSettings(record.GetPathDescription().GetTable().GetTTLSettings(), "modified_at");
+}
+
+NLs::TCheckFunc OlapTtlChecker(const char* ttlColumnName = "modified_at") {
+ return [=](const NKikimrScheme::TEvDescribeSchemeResult& record) {
+ CheckTtlSettings(record.GetPathDescription().GetColumnTableDescription().GetTtlSettings(), ttlColumnName);
+ };
}
-void CheckColumnTableTTLSettings(TTestActorRuntime& runtime,
- const char* tableName = "ColumnTableTTL",
- const char* columnName = "modified_at")
-{
+void CheckTtlSettings(TTestActorRuntime& runtime, NLs::TCheckFunc func, const char* tableName = "TTLEnabledTable") {
TestDescribeResult(
DescribePath(runtime, Sprintf("/MyRoot/%s", tableName)), {
NLs::PathExist,
- NLs::Finished, [=] (const NKikimrScheme::TEvDescribeSchemeResult& record) {
- const auto& table = record.GetPathDescription().GetColumnTableDescription();
- UNIT_ASSERT(table.HasTtlSettings());
-
- const auto& ttl = table.GetTtlSettings();
- UNIT_ASSERT(ttl.HasEnabled());
- UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetColumnName(), columnName);
- UNIT_ASSERT_VALUES_EQUAL(ttl.GetEnabled().GetExpireAfterSeconds(), 3600);
- }
+ NLs::Finished,
+ func,
}
);
}
@@ -68,7 +58,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
}
)", name, ttlColumnType, unit));
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime, name);
+ CheckTtlSettings(runtime, OltpTtlChecker, name);
}
Y_UNIT_TEST(CreateTableShouldSucceed) {
@@ -191,7 +181,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
)", NKikimrSchemeOp::EIndexType_Name(indexType).c_str()));
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
}
Y_UNIT_TEST(CreateTableShouldSucceedOnIndexedTable) {
@@ -225,7 +215,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
}
)");
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
TestAlterTable(runtime, ++txId, "/MyRoot", R"(
Name: "TTLEnabledTable"
@@ -275,7 +265,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
}
)");
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
}
Y_UNIT_TEST(AlterTableShouldFailOnSimultaneousDropColumnAndEnableTTL) {
@@ -333,7 +323,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
)");
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
}
Y_UNIT_TEST(AlterTableShouldSucceedOnIndexedTable) {
@@ -363,7 +353,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTests) {
}
)");
env.TestWaitNotification(runtime, txId);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
TestBuildIndex(runtime, ++txId, TTestTxConfig::SchemeShard, "/MyRoot", "/MyRoot/TTLEnabledTable",
TBuildIndexConfig{"UserDefinedIndexByValue", indexType, {"value"}, {}});
@@ -1068,17 +1058,17 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
}
)", name, ttlColumnType, unit));
env.TestWaitNotification(runtime, txId);
- CheckColumnTableTTLSettings(runtime, name);
+ CheckTtlSettings(runtime, OlapTtlChecker(), name);
}
Y_UNIT_TEST(CreateColumnTable) {
for (auto ct : {/*"Date",*/ "Datetime", "Timestamp"}) {
- CreateColumnTableShouldSucceed("ColumnTableTTL", ct);
+ CreateColumnTableShouldSucceed("TTLEnabledTable", ct);
}
for (auto ct : {"Uint32", "Uint64"/*, "DyNumber"*/}) {
for (auto unit : {"UNIT_SECONDS"/*, "UNIT_MILLISECONDS", "UNIT_MICROSECONDS", "UNIT_NANOSECONDS"*/}) {
- CreateColumnTableShouldSucceed("ColumnTableTTL", ct, unit);
+ CreateColumnTableShouldSucceed("TTLEnabledTable", ct, unit);
}
}
}
@@ -1090,7 +1080,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
for (auto ct : {"String", "DyNumber"}) {
TestCreateColumnTable(runtime, ++txId, "/MyRoot", Sprintf(R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
Schema {
Columns { Name: "key" Type: "Uint64" NotNull: true }
Columns { Name: "modified_at" Type: "%s" }
@@ -1112,7 +1102,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
ui64 txId = 100;
TestCreateColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
Schema {
Columns { Name: "key" Type: "Uint64" NotNull: true }
Columns { Name: "modified_at" Type: "Timestamp" }
@@ -1132,7 +1122,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
ui64 txId = 100;
TestCreateColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
Schema {
Columns { Name: "key" Type: "Uint64" NotNull: true }
Columns { Name: "modified_at" Type: "Timestamp" }
@@ -1142,7 +1132,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
)");
env.TestWaitNotification(runtime, txId);
TestDescribeResult(
- DescribePath(runtime, "/MyRoot/ColumnTableTTL"), {
+ DescribePath(runtime, "/MyRoot/TTLEnabledTable"), {
NLs::PathExist,
NLs::Finished, [=] (const NKikimrScheme::TEvDescribeSchemeResult& record) {
const auto& table = record.GetPathDescription().GetColumnTableDescription();
@@ -1152,7 +1142,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
);
TestAlterColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
AlterTtlSettings {
Enabled {
ColumnName: "modified_at"
@@ -1161,10 +1151,10 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
}
)");
env.TestWaitNotification(runtime, txId);
- CheckColumnTableTTLSettings(runtime);
+ CheckTtlSettings(runtime, OlapTtlChecker());
TestAlterColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
AlterTtlSettings {
Enabled {
ColumnName: "saved_at"
@@ -1173,10 +1163,10 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
}
)");
env.TestWaitNotification(runtime, txId);
- CheckColumnTableTTLSettings(runtime, "ColumnTableTTL", "saved_at");
+ CheckTtlSettings(runtime, OlapTtlChecker("saved_at"));
TestAlterColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
AlterTtlSettings {
Disabled {
}
@@ -1184,7 +1174,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
)");
env.TestWaitNotification(runtime, txId);
TestDescribeResult(
- DescribePath(runtime, "/MyRoot/ColumnTableTTL"), {
+ DescribePath(runtime, "/MyRoot/TTLEnabledTable"), {
NLs::PathExist,
NLs::Finished, [=] (const NKikimrScheme::TEvDescribeSchemeResult& record) {
const auto& table = record.GetPathDescription().GetColumnTableDescription();
@@ -1201,7 +1191,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
ui64 txId = 100;
TestCreateColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
Schema {
Columns { Name: "key" Type: "Uint64" NotNull: true }
Columns { Name: "modified_at" Type: "Timestamp" }
@@ -1211,7 +1201,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
)");
env.TestWaitNotification(runtime, txId);
TestDescribeResult(
- DescribePath(runtime, "/MyRoot/ColumnTableTTL"), {
+ DescribePath(runtime, "/MyRoot/TTLEnabledTable"), {
NLs::PathExist,
NLs::Finished, [=] (const NKikimrScheme::TEvDescribeSchemeResult& record) {
const auto& table = record.GetPathDescription().GetColumnTableDescription();
@@ -1221,7 +1211,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardColumnTableTTL) {
);
TestAlterColumnTable(runtime, ++txId, "/MyRoot", R"(
- Name: "ColumnTableTTL"
+ Name: "TTLEnabledTable"
AlterTtlSettings {
Enabled {
ColumnName: "str"
@@ -1252,7 +1242,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTestsWithReboots) {
{
TInactiveZone inactive(activeZone);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
}
});
}
@@ -1284,7 +1274,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTestsWithReboots) {
{
TInactiveZone inactive(activeZone);
- CheckTTLSettings(runtime);
+ CheckTtlSettings(runtime, OltpTtlChecker);
}
});
}
@@ -1314,7 +1304,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTestsWithReboots) {
{
TInactiveZone inactive(activeZone);
- CheckTTLSettings(runtime, "TTLEnabledTableCopy");
+ CheckTtlSettings(runtime, OltpTtlChecker, "TTLEnabledTableCopy");
}
});
}
@@ -1344,7 +1334,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardTTLTestsWithReboots) {
{
TInactiveZone inactive(activeZone);
- CheckTTLSettings(runtime, "TTLEnabledTableMoved");
+ CheckTtlSettings(runtime, OltpTtlChecker, "TTLEnabledTableMoved");
}
});
}