Skip to content

Commit 3acfcb7

Browse files
authored
Fix sink errors (#15579)
1 parent 9059c45 commit 3acfcb7

File tree

2 files changed

+176
-49
lines changed

2 files changed

+176
-49
lines changed

ydb/core/kqp/runtime/kqp_write_actor.cpp

+43-42
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
473473
SchemeEntry = resultSet[0];
474474

475475
CA_LOG_D("Resolved TableId=" << TableId << " ("
476-
<< TableId.PathId.ToString() << " "
476+
<< TablePath << " "
477477
<< TableId.SchemaVersion << ")");
478478

479479
if (TableId.SchemaVersion != SchemeEntry->TableId.SchemaVersion) {
@@ -551,15 +551,15 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
551551
switch (ev->Get()->GetStatus()) {
552552
case NKikimrDataEvents::TEvWriteResult::STATUS_UNSPECIFIED: {
553553
CA_LOG_E("Got UNSPECIFIED for table `"
554-
<< TableId.PathId.ToString() << "`."
554+
<< TablePath << "`."
555555
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
556556
<< " Sink=" << this->SelfId() << "."
557557
<< getIssues().ToOneLineString());
558558
TxManager->SetError(ev->Get()->Record.GetOrigin());
559559
RuntimeError(
560560
NYql::NDqProto::StatusIds::UNSPECIFIED,
561561
NYql::TIssuesIds::DEFAULT_ERROR,
562-
TStringBuilder() << "Unspecified error for table `"
562+
TStringBuilder() << "Unspecified error. Table `"
563563
<< TablePath << "`.",
564564
getIssues());
565565
return;
@@ -574,22 +574,21 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
574574
}
575575
case NKikimrDataEvents::TEvWriteResult::STATUS_ABORTED: {
576576
CA_LOG_E("Got ABORTED for table `"
577-
<< TableId.PathId.ToString() << "`."
577+
<< TablePath << "`."
578578
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
579579
<< " Sink=" << this->SelfId() << "."
580580
<< getIssues().ToOneLineString());
581581
TxManager->SetError(ev->Get()->Record.GetOrigin());
582582
RuntimeError(
583583
NYql::NDqProto::StatusIds::ABORTED,
584584
NYql::TIssuesIds::KIKIMR_OPERATION_ABORTED,
585-
TStringBuilder() << "Aborted for table `"
586-
<< TablePath << "`.",
585+
TStringBuilder() << "Operation aborted.",
587586
getIssues());
588587
return;
589588
}
590589
case NKikimrDataEvents::TEvWriteResult::STATUS_WRONG_SHARD_STATE:
591590
CA_LOG_E("Got WRONG SHARD STATE for table `"
592-
<< TableId.PathId.ToString() << "`."
591+
<< TablePath << "`."
593592
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
594593
<< " Sink=" << this->SelfId() << "."
595594
<< getIssues().ToOneLineString());
@@ -602,44 +601,43 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
602601
RuntimeError(
603602
NYql::NDqProto::StatusIds::UNAVAILABLE,
604603
NYql::TIssuesIds::KIKIMR_TEMPORARILY_UNAVAILABLE,
605-
TStringBuilder() << "Wrong shard state for table `"
604+
TStringBuilder() << "Wrong shard state. Table `"
606605
<< TablePath << "`.",
607606
getIssues());
608607
}
609608
return;
610609
case NKikimrDataEvents::TEvWriteResult::STATUS_INTERNAL_ERROR: {
611610
CA_LOG_E("Got INTERNAL ERROR for table `"
612-
<< TableId.PathId.ToString() << "`."
611+
<< TablePath << "`."
613612
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
614613
<< " Sink=" << this->SelfId() << "."
615614
<< getIssues().ToOneLineString());
616615
TxManager->SetError(ev->Get()->Record.GetOrigin());
617616
RuntimeError(
618617
NYql::NDqProto::StatusIds::INTERNAL_ERROR,
619618
NYql::TIssuesIds::KIKIMR_INTERNAL_ERROR,
620-
TStringBuilder() << "Internal error for table `"
621-
<< TablePath << "`.",
619+
TStringBuilder() << "Internal error while executing transaction.",
622620
getIssues());
623621
return;
624622
}
625623
case NKikimrDataEvents::TEvWriteResult::STATUS_DISK_SPACE_EXHAUSTED: {
626624
CA_LOG_E("Got DISK_SPACE_EXHAUSTED for table `"
627-
<< TableId.PathId.ToString() << "`."
625+
<< TablePath << "`."
628626
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
629627
<< " Sink=" << this->SelfId() << "."
630628
<< getIssues().ToOneLineString());
631629
TxManager->SetError(ev->Get()->Record.GetOrigin());
632630
RuntimeError(
633631
NYql::NDqProto::StatusIds::UNAVAILABLE,
634632
NYql::TIssuesIds::KIKIMR_DISK_SPACE_EXHAUSTED,
635-
TStringBuilder() << "Disk space exhausted for table `"
633+
TStringBuilder() << "Disk space exhausted. Table `"
636634
<< TablePath << "`.",
637635
getIssues());
638636
return;
639637
}
640638
case NKikimrDataEvents::TEvWriteResult::STATUS_OUT_OF_SPACE: {
641639
CA_LOG_W("Got OUT_OF_SPACE for table `"
642-
<< TableId.PathId.ToString() << "`."
640+
<< TablePath << "`."
643641
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
644642
<< " Sink=" << this->SelfId() << "."
645643
<< " Ignored this error."
@@ -658,7 +656,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
658656
}
659657
case NKikimrDataEvents::TEvWriteResult::STATUS_OVERLOADED: {
660658
CA_LOG_W("Got OVERLOADED for table `"
661-
<< TableId.PathId.ToString() << "`."
659+
<< TablePath << "`."
662660
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
663661
<< " Sink=" << this->SelfId() << "."
664662
<< " Ignored this error."
@@ -669,30 +667,30 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
669667
RuntimeError(
670668
NYql::NDqProto::StatusIds::OVERLOADED,
671669
NYql::TIssuesIds::KIKIMR_OVERLOADED,
672-
TStringBuilder() << "Tablet " << ev->Get()->Record.GetOrigin() << " is overloaded. Table `"
670+
TStringBuilder() << "Kikimr cluster or one of its subsystems is overloaded."
671+
<< " Tablet " << ev->Get()->Record.GetOrigin() << " is overloaded. Table `"
673672
<< TablePath << "`.",
674673
getIssues());
675674
}
676675
return;
677676
}
678677
case NKikimrDataEvents::TEvWriteResult::STATUS_CANCELLED: {
679678
CA_LOG_E("Got CANCELLED for table `"
680-
<< TableId.PathId.ToString() << "`."
679+
<< TablePath << "`."
681680
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
682681
<< " Sink=" << this->SelfId() << "."
683682
<< getIssues().ToOneLineString());
684683
TxManager->SetError(ev->Get()->Record.GetOrigin());
685684
RuntimeError(
686685
NYql::NDqProto::StatusIds::CANCELLED,
687686
NYql::TIssuesIds::KIKIMR_OPERATION_CANCELLED,
688-
TStringBuilder() << "Cancelled request to table `"
689-
<< TablePath << "`.",
687+
TStringBuilder() << "Operation cancelled.",
690688
getIssues());
691689
return;
692690
}
693691
case NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST: {
694692
CA_LOG_E("Got BAD REQUEST for table `"
695-
<< TableId.PathId.ToString() << "`."
693+
<< TablePath << "`."
696694
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
697695
<< " Sink=" << this->SelfId() << "."
698696
<< getIssues().ToOneLineString());
@@ -707,7 +705,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
707705
}
708706
case NKikimrDataEvents::TEvWriteResult::STATUS_SCHEME_CHANGED: {
709707
CA_LOG_E("Got SCHEME CHANGED for table `"
710-
<< TableId.PathId.ToString() << "`."
708+
<< TablePath << "`."
711709
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
712710
<< " Sink=" << this->SelfId() << "."
713711
<< getIssues().ToOneLineString());
@@ -727,7 +725,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
727725
}
728726
case NKikimrDataEvents::TEvWriteResult::STATUS_LOCKS_BROKEN: {
729727
CA_LOG_E("Got LOCKS BROKEN for table `"
730-
<< TableId.PathId.ToString() << "`."
728+
<< TablePath << "`."
731729
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
732730
<< " Sink=" << this->SelfId() << "."
733731
<< getIssues().ToOneLineString());
@@ -744,7 +742,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
744742
return;
745743
}
746744
case NKikimrDataEvents::TEvWriteResult::STATUS_CONSTRAINT_VIOLATION: {
747-
CA_LOG_E("Got CONSTRAINT VIOLATION for table."
745+
CA_LOG_E("Got CONSTRAINT VIOLATION for table `" << TablePath << "`."
748746
<< " ShardID=" << ev->Get()->Record.GetOrigin() << ","
749747
<< " Sink=" << this->SelfId() << "."
750748
<< getIssues().ToOneLineString());
@@ -1022,15 +1020,17 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
10221020
NYql::NDqProto::StatusIds::UNDETERMINED,
10231021
NYql::TIssuesIds::KIKIMR_OPERATION_STATE_UNKNOWN,
10241022
TStringBuilder()
1025-
<< "Error writing to table `" << TableId.PathId.ToString() << "`"
1023+
<< "State of operation is unknown. "
1024+
<< "Error writing to table `" << TablePath << "`"
10261025
<< ". Transaction state unknown for tablet " << ev->Get()->TabletId << ".");
10271026
} else {
10281027
TxManager->SetError(ev->Get()->TabletId);
10291028
RuntimeError(
10301029
NYql::NDqProto::StatusIds::UNAVAILABLE,
10311030
NYql::TIssuesIds::KIKIMR_TEMPORARILY_UNAVAILABLE,
10321031
TStringBuilder()
1033-
<< "Error writing to table `" << TableId.PathId.ToString() << "`"
1032+
<< "Kikimr cluster or one of its subsystems was unavailable. "
1033+
<< "Error writing to table `" << TablePath << "`"
10341034
<< ": can't deliver message to tablet " << ev->Get()->TabletId << ".");
10351035
}
10361036
}
@@ -2237,7 +2237,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
22372237
ReplyErrorAndDie(
22382238
NYql::NDqProto::StatusIds::UNAVAILABLE,
22392239
NYql::TIssuesIds::KIKIMR_TEMPORARILY_UNAVAILABLE,
2240-
TStringBuilder() << "Failed to deviler message to coordinator.",
2240+
TStringBuilder() << "Kikimr cluster or one of its subsystems was unavailable. Failed to deviler message to coordinator.",
22412241
{});
22422242
return;
22432243
}
@@ -2250,7 +2250,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
22502250
ReplyErrorAndDie(
22512251
NYql::NDqProto::StatusIds::UNDETERMINED,
22522252
NYql::TIssuesIds::KIKIMR_OPERATION_STATE_UNKNOWN,
2253-
TStringBuilder() << "Failed to deviler message to coordinator.",
2253+
TStringBuilder() << "State of operation is unknown. Failed to deviler message to coordinator.",
22542254
{});
22552255
return;
22562256
}
@@ -2259,13 +2259,13 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
22592259
ReplyErrorAndDie(
22602260
NYql::NDqProto::StatusIds::UNDETERMINED,
22612261
NYql::TIssuesIds::KIKIMR_OPERATION_STATE_UNKNOWN,
2262-
TStringBuilder() << "Failed to deviler message.",
2262+
TStringBuilder() << "State of operation is unknown. Failed to deviler message.",
22632263
{});
22642264
} else {
22652265
ReplyErrorAndDie(
22662266
NYql::NDqProto::StatusIds::UNAVAILABLE,
22672267
NYql::TIssuesIds::KIKIMR_TEMPORARILY_UNAVAILABLE,
2268-
TStringBuilder() << "Failed to deviler message.",
2268+
TStringBuilder() << "Kikimr cluster or one of its subsystems was unavailable. Failed to deviler message.",
22692269
{});
22702270
}
22712271
}
@@ -2342,7 +2342,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
23422342
}
23432343
builder << "`" << path << "`";
23442344
}
2345-
return builder;
2345+
return (tableInfo.Pathes.size() == 1 ? "Table: " : "Tables: ") + builder;
23462346
};
23472347

23482348
// TODO: get rid of copy-paste
@@ -2356,7 +2356,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
23562356
ReplyErrorAndDie(
23572357
NYql::NDqProto::StatusIds::UNSPECIFIED,
23582358
NYql::TIssuesIds::DEFAULT_ERROR,
2359-
TStringBuilder() << "Unspecified error for tables `" << getPathes() << "`. "
2359+
TStringBuilder() << "Unspecified error. " << getPathes() << ". "
23602360
<< getIssues().ToOneLineString(),
23612361
getIssues());
23622362
return;
@@ -2378,7 +2378,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
23782378
ReplyErrorAndDie(
23792379
NYql::NDqProto::StatusIds::ABORTED,
23802380
NYql::TIssuesIds::KIKIMR_OPERATION_ABORTED,
2381-
TStringBuilder() << "Aborted for tables " << getPathes() << ". ",
2381+
TStringBuilder() << "Operation aborted.",
23822382
getIssues());
23832383
return;
23842384
}
@@ -2391,7 +2391,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
23912391
ReplyErrorAndDie(
23922392
NYql::NDqProto::StatusIds::UNAVAILABLE,
23932393
NYql::TIssuesIds::KIKIMR_TEMPORARILY_UNAVAILABLE,
2394-
TStringBuilder() << "Wrong shard state for tables " << getPathes() << ".",
2394+
TStringBuilder() << "Wrong shard state. " << getPathes() << ".",
23952395
getIssues());
23962396
return;
23972397
}
@@ -2404,7 +2404,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24042404
ReplyErrorAndDie(
24052405
NYql::NDqProto::StatusIds::INTERNAL_ERROR,
24062406
NYql::TIssuesIds::KIKIMR_INTERNAL_ERROR,
2407-
TStringBuilder() << "Internal error for tables " << getPathes() << ".",
2407+
TStringBuilder() << "Internal error while executing transaction.",
24082408
getIssues());
24092409
return;
24102410
}
@@ -2417,7 +2417,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24172417
ReplyErrorAndDie(
24182418
NYql::NDqProto::StatusIds::UNAVAILABLE,
24192419
NYql::TIssuesIds::KIKIMR_DISK_SPACE_EXHAUSTED,
2420-
TStringBuilder() << "Disk space exhausted for tables " << getPathes() << ".",
2420+
TStringBuilder() << "Disk space exhausted. " << getPathes() << ".",
24212421
getIssues());
24222422
return;
24232423
}
@@ -2431,7 +2431,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24312431
ReplyErrorAndDie(
24322432
NYql::NDqProto::StatusIds::OVERLOADED,
24332433
NYql::TIssuesIds::KIKIMR_OVERLOADED,
2434-
TStringBuilder() << "Tablet " << ev->Get()->Record.GetOrigin() << "(" << getPathes() << ")" << " is out of space.",
2434+
TStringBuilder() << "Tablet " << ev->Get()->Record.GetOrigin() << " is out of space. " << getPathes() << ".",
24352435
getIssues());
24362436
return;
24372437
}
@@ -2445,7 +2445,9 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24452445
ReplyErrorAndDie(
24462446
NYql::NDqProto::StatusIds::OVERLOADED,
24472447
NYql::TIssuesIds::KIKIMR_OVERLOADED,
2448-
TStringBuilder() << "Tablet " << ev->Get()->Record.GetOrigin() << "(" << getPathes() << ")" << " is overloaded.",
2448+
TStringBuilder() << "Kikimr cluster or one of its subsystems is overloaded."
2449+
<< " Tablet " << ev->Get()->Record.GetOrigin() << " is overloaded."
2450+
<< " " << getPathes() << ".",
24492451
getIssues());
24502452
return;
24512453
}
@@ -2458,7 +2460,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24582460
ReplyErrorAndDie(
24592461
NYql::NDqProto::StatusIds::CANCELLED,
24602462
NYql::TIssuesIds::KIKIMR_OPERATION_CANCELLED,
2461-
TStringBuilder() << "Cancelled request to tables " << getPathes() << ".",
2463+
TStringBuilder() << "Operation cancelled.",
24622464
getIssues());
24632465
return;
24642466
}
@@ -2471,7 +2473,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24712473
ReplyErrorAndDie(
24722474
NYql::NDqProto::StatusIds::BAD_REQUEST,
24732475
NYql::TIssuesIds::KIKIMR_BAD_REQUEST,
2474-
TStringBuilder() << "Bad request. Tables: " << getPathes() << ".",
2476+
TStringBuilder() << "Bad request. " << getPathes() << ".",
24752477
getIssues());
24762478
return;
24772479
}
@@ -2484,7 +2486,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
24842486
ReplyErrorAndDie(
24852487
NYql::NDqProto::StatusIds::SCHEME_ERROR,
24862488
NYql::TIssuesIds::KIKIMR_SCHEME_MISMATCH,
2487-
TStringBuilder() << "Scheme changed. Tables: " << getPathes() << ".",
2489+
TStringBuilder() << "Scheme changed. " << getPathes() << ".",
24882490
getIssues());
24892491
return;
24902492
}
@@ -2501,7 +2503,6 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
25012503
NYql::TIssuesIds::KIKIMR_LOCKS_INVALIDATED,
25022504
TStringBuilder()
25032505
<< "Transaction locks invalidated. "
2504-
<< (TxManager->GetShardTableInfo(ev->Get()->Record.GetOrigin()).Pathes.size() == 1 ? "Table: " : "Tables: ")
25052506
<< getPathes() << ".",
25062507
getIssues());
25072508
return;
@@ -2515,7 +2516,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
25152516
ReplyErrorAndDie(
25162517
NYql::NDqProto::StatusIds::PRECONDITION_FAILED,
25172518
NYql::TIssuesIds::KIKIMR_CONSTRAINT_VIOLATION,
2518-
TStringBuilder() << "Constraint violated. Tables: " << getPathes() << ".",
2519+
TStringBuilder() << "Constraint violated. " << getPathes() << ".",
25192520
getIssues());
25202521
return;
25212522
}

0 commit comments

Comments
 (0)