Skip to content

Commit 4c6b51d

Browse files
committed
fixes after perf tests
1 parent b306d7a commit 4c6b51d

12 files changed

+570
-476
lines changed

ydb/core/grpc_services/rpc_login.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,15 @@ class TLoginRPC : public TRpcRequestActor<TLoginRPC, TEvLoginRequest, true> {
105105
}
106106
}
107107

108+
void HandleDestroyed(TEvTabletPipe::TEvClientDestroyed::TPtr&) {
109+
ReplyErrorAndPassAway(Ydb::StatusIds::UNAVAILABLE, "SchemeShard is unavailable");
110+
}
111+
108112
STATEFN(StateWork) {
109113
switch (ev->GetTypeRewrite()) {
110114
hFunc(TEvents::TEvUndelivered, HandleUndelivered);
111115
hFunc(TEvTabletPipe::TEvClientConnected, HandleConnect);
116+
hFunc(TEvTabletPipe::TEvClientDestroyed, HandleDestroyed);
112117
hFunc(TEvTxProxySchemeCache::TEvNavigateKeySetResult, HandleNavigate);
113118
hFunc(TEvSchemeShard::TEvLoginResult, HandleResult);
114119
hFunc(TEvLdapAuthProvider::TEvAuthenticateResponse, Handle);

ydb/core/kafka_proxy/actors/kafka_balance_actor_sql.cpp

Lines changed: 76 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,14 @@ const TString UPDATE_GROUP_STATE = R"sql(
5858
DECLARE $ConsumerGroup AS Utf8;
5959
DECLARE $Database AS Utf8;
6060
DECLARE $State AS Uint64;
61+
DECLARE $Generation AS Uint64;
6162
6263
UPDATE `%s`
6364
SET
6465
state = $State
6566
WHERE database = $Database
66-
AND consumer_group = $ConsumerGroup;
67+
AND consumer_group = $ConsumerGroup
68+
AND generation = $Generation;
6769
)sql";
6870

6971
const TString UPDATE_GROUP_STATE_AND_PROTOCOL = R"sql(
@@ -93,6 +95,7 @@ const TString INSERT_MEMBER = R"sql(
9395
DECLARE $Database AS Utf8;
9496
DECLARE $HeartbeatDeadline AS Datetime;
9597
DECLARE $SessionTimeoutMs AS Uint32;
98+
DECLARE $RebalanceTimeoutMs AS Uint32;
9699
97100
INSERT INTO `%s`
98101
(
@@ -103,7 +106,8 @@ const TString INSERT_MEMBER = R"sql(
103106
heartbeat_deadline,
104107
worker_state_proto,
105108
database,
106-
session_timeout_ms
109+
session_timeout_ms,
110+
rebalance_timeout_ms
107111
)
108112
VALUES (
109113
$ConsumerGroup,
@@ -113,7 +117,8 @@ const TString INSERT_MEMBER = R"sql(
113117
$HeartbeatDeadline,
114118
$WorkerStateProto,
115119
$Database,
116-
$SessionTimeoutMs
120+
$SessionTimeoutMs,
121+
$RebalanceTimeoutMs
117122
);
118123
)sql";
119124

@@ -217,15 +222,15 @@ const TString CHECK_DEAD_MEMBERS = R"sql(
217222
DECLARE $Generation AS Uint64;
218223
DECLARE $Database AS Utf8;
219224
DECLARE $MemberId AS Utf8;
225+
DECLARE $Now AS Datetime;
220226
221-
SELECT heartbeat_deadline
227+
SELECT COUNT(1) deads_cnt
222228
FROM `%s`
223229
VIEW idx_group_generation_db_hb
224230
WHERE database = $Database
225231
AND consumer_group = $ConsumerGroup
226232
AND generation = $Generation
227-
ORDER BY heartbeat_deadline
228-
LIMIT 1;
233+
AND heartbeat_deadline < $Now;
229234
230235
SELECT session_timeout_ms
231236
FROM `%s`
@@ -237,7 +242,7 @@ const TString CHECK_DEAD_MEMBERS = R"sql(
237242
238243
)sql";
239244

240-
const TString UPDATE_LAST_HEARTBEATS = R"sql(
245+
const TString UPDATE_LAST_MEMBER_AND_GROUP_HEARTBEATS = R"sql(
241246
--!syntax_v1
242247
DECLARE $ConsumerGroup AS Utf8;
243248
DECLARE $Generation AS Uint64;
@@ -262,20 +267,80 @@ const TString UPDATE_LAST_HEARTBEATS = R"sql(
262267
AND database = $Database;
263268
)sql";
264269

270+
const TString UPDATE_LAST_MEMBER_HEARTBEAT = R"sql(
271+
--!syntax_v1
272+
DECLARE $ConsumerGroup AS Utf8;
273+
DECLARE $Generation AS Uint64;
274+
DECLARE $MemberId AS Utf8;
275+
DECLARE $Database AS Utf8;
276+
DECLARE $HeartbeatDeadline AS Datetime;
277+
278+
UPDATE `%s`
279+
SET heartbeat_deadline = $HeartbeatDeadline
280+
WHERE consumer_group = $ConsumerGroup
281+
AND generation = $Generation
282+
AND member_id = $MemberId
283+
AND database = $Database;
284+
)sql";
265285

266-
const TString UPDATE_LASTHEARTBEAT_TO_LEAVE_GROUP = R"sql(
286+
const TString CHECK_MASTER_ALIVE = R"sql(
287+
--!syntax_v1
288+
DECLARE $ConsumerGroup AS Utf8;
289+
DECLARE $MasterId AS Utf8;
290+
DECLARE $Database AS Utf8;
291+
DECLARE $Generation AS Uint64;
292+
DECLARE $Now AS Datetime;
293+
294+
SELECT COUNT(1) allive,
295+
FROM `%s`
296+
VIEW PRIMARY KEY
297+
WHERE database = $Database
298+
AND consumer_group = $ConsumerGroup
299+
AND generation = $Generation
300+
AND member_id = $MasterId
301+
AND heartbeat_deadline > $Now;
302+
)sql";
303+
304+
const TString GET_GENERATION_BY_MEMBER = R"sql(
267305
--!syntax_v1
268306
DECLARE $ConsumerGroup AS Utf8;
269307
DECLARE $MemberId AS Utf8;
270308
DECLARE $Database AS Utf8;
309+
310+
SELECT generation
311+
FROM `%s`
312+
VIEW PRIMARY KEY
313+
WHERE database = $Database
314+
AND consumer_group = $ConsumerGroup
315+
AND member_id = $MemberId
316+
ORDER BY generation DESC
317+
LIMIT 1;
318+
)sql";
319+
320+
const TString UPDATE_LAST_HEARTBEAT_AND_STATE_TO_LEAVE_GROUP = R"sql(
321+
--!syntax_v1
322+
DECLARE $ConsumerGroup AS Utf8;
323+
DECLARE $MemberId AS Utf8;
324+
DECLARE $Database AS Utf8;
325+
DECLARE $Generation AS Uint64;
271326
DECLARE $LastMasterHeartbeat AS Datetime;
327+
DECLARE $State AS Uint64;
328+
DECLARE $UpdateState AS Bool;
272329
273330
UPDATE `%s`
274331
SET heartbeat_deadline = $LastMasterHeartbeat,
275332
leaved = True
276-
WHERE consumer_group = $ConsumerGroup
277-
AND member_id = $MemberId
278-
AND database = $Database;
333+
WHERE database = $Database
334+
AND consumer_group = $ConsumerGroup
335+
AND generation = $Generation
336+
AND member_id = $MemberId;
337+
338+
UPDATE `%s`
339+
SET
340+
state = $State
341+
WHERE database = $Database
342+
AND consumer_group = $ConsumerGroup
343+
AND $UpdateState = True;
279344
)sql";
280345

281346
const TString CHECK_GROUPS_COUNT = R"sql(

0 commit comments

Comments
 (0)