Skip to content

Commit 0e77ef0

Browse files
authored
Fix lost logs in data integrity test (#13871)
1 parent afd8c9e commit 0e77ef0

File tree

1 file changed

+131
-119
lines changed

1 file changed

+131
-119
lines changed

ydb/core/kqp/ut/data_integrity/kqp_data_integrity_trails_ut.cpp

Lines changed: 131 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,29 @@ namespace {
1818

1919
Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
2020
Y_UNIT_TEST_TWIN(Upsert, LogEnabled) {
21-
TKikimrSettings serverSettings;
2221
TStringStream ss;
23-
serverSettings.LogStream = &ss;
24-
TKikimrRunner kikimr(serverSettings);
22+
{
23+
TKikimrSettings serverSettings;
24+
serverSettings.LogStream = &ss;
25+
TKikimrRunner kikimr(serverSettings);
2526

26-
if (LogEnabled) {
27-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
28-
}
29-
30-
auto db = kikimr.GetTableClient();
31-
auto session = db.CreateSession().GetValueSync().GetSession();
27+
if (LogEnabled) {
28+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
29+
}
30+
31+
auto db = kikimr.GetTableClient();
32+
auto session = db.CreateSession().GetValueSync().GetSession();
3233

33-
auto result = session.ExecuteDataQuery(R"(
34-
--!syntax_v1
34+
auto result = session.ExecuteDataQuery(R"(
35+
--!syntax_v1
3536
36-
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
37-
(3u, "Value3"),
38-
(101u, "Value101"),
39-
(201u, "Value201");
40-
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
41-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
37+
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
38+
(3u, "Value3"),
39+
(101u, "Value101"),
40+
(201u, "Value201");
41+
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
42+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
43+
}
4244

4345
// check executer logs
4446
UNIT_ASSERT_VALUES_EQUAL(CountSubstr(ss.Str(), "DATA_INTEGRITY INFO: Component: Executer"), LogEnabled ? 1 : 0);
@@ -51,26 +53,28 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
5153
}
5254

5355
Y_UNIT_TEST(UpsertEvWrite) {
54-
NKikimrConfig::TAppConfig AppConfig;
55-
AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(true);
56-
TKikimrSettings serverSettings = TKikimrSettings().SetAppConfig(AppConfig);
5756
TStringStream ss;
58-
serverSettings.LogStream = &ss;
59-
TKikimrRunner kikimr(serverSettings);
60-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
61-
62-
auto db = kikimr.GetTableClient();
63-
auto session = db.CreateSession().GetValueSync().GetSession();
64-
65-
auto result = session.ExecuteDataQuery(R"(
66-
--!syntax_v1
67-
68-
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
69-
(3u, "Value3"),
70-
(101u, "Value101"),
71-
(201u, "Value201");
72-
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
73-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
57+
{
58+
NKikimrConfig::TAppConfig AppConfig;
59+
AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(true);
60+
TKikimrSettings serverSettings = TKikimrSettings().SetAppConfig(AppConfig);
61+
serverSettings.LogStream = &ss;
62+
TKikimrRunner kikimr(serverSettings);
63+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
64+
65+
auto db = kikimr.GetTableClient();
66+
auto session = db.CreateSession().GetValueSync().GetSession();
67+
68+
auto result = session.ExecuteDataQuery(R"(
69+
--!syntax_v1
70+
71+
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
72+
(3u, "Value3"),
73+
(101u, "Value101"),
74+
(201u, "Value201");
75+
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
76+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
77+
}
7478

7579
// check write actor logs
7680
UNIT_ASSERT_VALUES_EQUAL(CountSubstr(ss.Str(), "DATA_INTEGRITY INFO: Component: WriteActor"), 1);
@@ -83,45 +87,47 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
8387
}
8488

8589
Y_UNIT_TEST_TWIN(UpsertEvWriteQueryService, isOlap) {
86-
NKikimrConfig::TAppConfig AppConfig;
87-
if (!isOlap) {
88-
AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(true);
89-
} else {
90-
AppConfig.MutableTableServiceConfig()->SetEnableOlapSink(true);
91-
}
92-
TKikimrSettings serverSettings = TKikimrSettings().SetAppConfig(AppConfig);
9390
TStringStream ss;
94-
serverSettings.LogStream = &ss;
95-
TKikimrRunner kikimr(serverSettings);
96-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
91+
{
92+
NKikimrConfig::TAppConfig AppConfig;
93+
if (!isOlap) {
94+
AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(true);
95+
} else {
96+
AppConfig.MutableTableServiceConfig()->SetEnableOlapSink(true);
97+
}
98+
TKikimrSettings serverSettings = TKikimrSettings().SetAppConfig(AppConfig);
99+
serverSettings.LogStream = &ss;
100+
TKikimrRunner kikimr(serverSettings);
101+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
97102

98-
auto db = kikimr.GetQueryClient();
99-
auto session = db.GetSession().GetValueSync().GetSession();
103+
auto db = kikimr.GetQueryClient();
104+
auto session = db.GetSession().GetValueSync().GetSession();
100105

101-
{
102-
const TString query = Sprintf(R"(
103-
CREATE TABLE `/Root/test_evwrite` (
104-
Key Int64 NOT NULL,
105-
Value String,
106-
primary key (Key)
107-
) WITH (STORE=%s);
108-
)", isOlap ? "COLUMN" : "ROW");
106+
{
107+
const TString query = Sprintf(R"(
108+
CREATE TABLE `/Root/test_evwrite` (
109+
Key Int64 NOT NULL,
110+
Value String,
111+
primary key (Key)
112+
) WITH (STORE=%s);
113+
)", isOlap ? "COLUMN" : "ROW");
109114

110-
auto result = session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx()).ExtractValueSync();
111-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
112-
}
115+
auto result = session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx()).ExtractValueSync();
116+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
117+
}
113118

114-
ss.Clear();
119+
ss.Clear();
115120

116-
auto result = session.ExecuteQuery(R"(
117-
--!syntax_v1
121+
auto result = session.ExecuteQuery(R"(
122+
--!syntax_v1
118123
119-
UPSERT INTO `/Root/test_evwrite` (Key, Value) VALUES
120-
(3u, "Value3"),
121-
(101u, "Value101"),
122-
(201u, "Value201");
123-
)", NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
124-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
124+
UPSERT INTO `/Root/test_evwrite` (Key, Value) VALUES
125+
(3u, "Value3"),
126+
(101u, "Value101"),
127+
(201u, "Value201");
128+
)", NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
129+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
130+
}
125131

126132
if (!isOlap) {
127133
// check write actor logs
@@ -148,24 +154,26 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
148154
}
149155

150156
Y_UNIT_TEST(Ddl) {
151-
TKikimrSettings serverSettings;
152157
TStringStream ss;
153-
serverSettings.LogStream = &ss;
154-
TKikimrRunner kikimr(serverSettings);
155-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
156-
auto db = kikimr.GetTableClient();
157-
auto session = db.CreateSession().GetValueSync().GetSession();
158-
159-
auto result = session.ExecuteSchemeQuery(R"(
160-
--!syntax_v1
161-
162-
CREATE TABLE `/Root/Tmp` (
163-
Key Uint64,
164-
Value String,
165-
PRIMARY KEY (Key)
166-
);
167-
)").ExtractValueSync();
168-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
158+
{
159+
TKikimrSettings serverSettings;
160+
serverSettings.LogStream = &ss;
161+
TKikimrRunner kikimr(serverSettings);
162+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
163+
auto db = kikimr.GetTableClient();
164+
auto session = db.CreateSession().GetValueSync().GetSession();
165+
166+
auto result = session.ExecuteSchemeQuery(R"(
167+
--!syntax_v1
168+
169+
CREATE TABLE `/Root/Tmp` (
170+
Key Uint64,
171+
Value String,
172+
PRIMARY KEY (Key)
173+
);
174+
)").ExtractValueSync();
175+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
176+
}
169177

170178
// check executer logs
171179
UNIT_ASSERT_VALUES_EQUAL(CountSubstr(ss.Str(), "DATA_INTEGRITY INFO: Component: Executer"), 0);
@@ -178,20 +186,22 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
178186
}
179187

180188
Y_UNIT_TEST(Select) {
181-
TKikimrSettings serverSettings;
182189
TStringStream ss;
183-
serverSettings.LogStream = &ss;
184-
TKikimrRunner kikimr(serverSettings);
185-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
186-
auto db = kikimr.GetTableClient();
187-
auto session = db.CreateSession().GetValueSync().GetSession();
190+
{
191+
TKikimrSettings serverSettings;
192+
serverSettings.LogStream = &ss;
193+
TKikimrRunner kikimr(serverSettings);
194+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
195+
auto db = kikimr.GetTableClient();
196+
auto session = db.CreateSession().GetValueSync().GetSession();
188197

189-
auto result = session.ExecuteDataQuery(R"(
190-
--!syntax_v1
198+
auto result = session.ExecuteDataQuery(R"(
199+
--!syntax_v1
191200
192-
SELECT * FROM `/Root/KeyValue`;
193-
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
194-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
201+
SELECT * FROM `/Root/KeyValue`;
202+
)", TTxControl::BeginTx().CommitTx()).ExtractValueSync();
203+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
204+
}
195205

196206
// check executer logs (should be empty, because executer only logs modification operations)
197207
UNIT_ASSERT_VALUES_EQUAL(CountSubstr(ss.Str(), "DATA_INTEGRITY INFO: Component: Executer"), 0);
@@ -204,30 +214,32 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
204214
}
205215

206216
Y_UNIT_TEST_TWIN(UpsertViaLegacyScripting, Streaming) {
207-
TKikimrSettings serverSettings;
208217
TStringStream ss;
209-
serverSettings.LogStream = &ss;
210-
TKikimrRunner kikimr(serverSettings);
211-
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
212-
NYdb::NScripting::TScriptingClient client(kikimr.GetDriver());
213-
214-
215-
const auto query = R"(
216-
--!syntax_v1
217-
218-
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
219-
(3u, "Value3"),
220-
(101u, "Value101"),
221-
(201u, "Value201");
222-
)";
223-
224-
if (Streaming) {
225-
auto result = client.StreamExecuteYqlScript(query).GetValueSync();
226-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
227-
CollectStreamResult(result);
228-
} else {
229-
auto result = client.ExecuteYqlScript(query).GetValueSync();
230-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
218+
{
219+
TKikimrSettings serverSettings;
220+
serverSettings.LogStream = &ss;
221+
TKikimrRunner kikimr(serverSettings);
222+
kikimr.GetTestServer().GetRuntime()->SetLogPriority(NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
223+
NYdb::NScripting::TScriptingClient client(kikimr.GetDriver());
224+
225+
226+
const auto query = R"(
227+
--!syntax_v1
228+
229+
UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
230+
(3u, "Value3"),
231+
(101u, "Value101"),
232+
(201u, "Value201");
233+
)";
234+
235+
if (Streaming) {
236+
auto result = client.StreamExecuteYqlScript(query).GetValueSync();
237+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
238+
CollectStreamResult(result);
239+
} else {
240+
auto result = client.ExecuteYqlScript(query).GetValueSync();
241+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
242+
}
231243
}
232244

233245
// check executer logs

0 commit comments

Comments
 (0)