Browse Source

Fix tx tests (#8945)

Nikita Vasilev 6 months ago
parent
commit
b9760d3d7b

+ 13 - 9
ydb/core/kqp/executer_actor/kqp_data_executer.cpp

@@ -498,10 +498,11 @@ private:
                 Counters->TxProxyMon->TxResultAborted->Inc();
                 LocksBroken = true;
 
-                YQL_ENSURE(!res->Record.GetTxLocks().empty());
-                ResponseEv->BrokenLockPathId = NYql::TKikimrPathId(
-                    res->Record.GetTxLocks(0).GetSchemeShard(),
-                    res->Record.GetTxLocks(0).GetPathId());
+                if (!res->Record.GetTxLocks().empty()) {
+                    ResponseEv->BrokenLockPathId = NYql::TKikimrPathId(
+                        res->Record.GetTxLocks(0).GetSchemeShard(),
+                        res->Record.GetTxLocks(0).GetPathId());
+                }
                 ReplyErrorAndDie(Ydb::StatusIds::ABORTED, {});
             }
             default:
@@ -1193,11 +1194,14 @@ private:
                 shardState->State = TShardState::EState::Finished;
                 Counters->TxProxyMon->TxResultAborted->Inc();
                 LocksBroken = true;
-                YQL_ENSURE(!res->Record.GetTxLocks().empty());
-                ResponseEv->BrokenLockPathId = NYql::TKikimrPathId(
-                    res->Record.GetTxLocks(0).GetSchemeShard(),
-                    res->Record.GetTxLocks(0).GetPathId());
-                ReplyErrorAndDie(Ydb::StatusIds::ABORTED, {});
+                if (!res->Record.GetTxLocks().empty()) {
+                    ResponseEv->BrokenLockPathId = NYql::TKikimrPathId(
+                        res->Record.GetTxLocks(0).GetSchemeShard(),
+                        res->Record.GetTxLocks(0).GetPathId());
+                    ReplyErrorAndDie(Ydb::StatusIds::ABORTED, {});
+                }
+                CheckExecutionComplete();
+                return;
             }
             default:
             {

+ 0 - 1
ydb/core/kqp/ut/tx/kqp_sink_locks_ut.cpp

@@ -98,7 +98,6 @@ Y_UNIT_TEST_SUITE(KqpSinkLocks) {
             auto commitResult = tx1->Commit().GetValueSync();
             UNIT_ASSERT_VALUES_EQUAL_C(commitResult.GetStatus(), EStatus::ABORTED, commitResult.GetIssues().ToString());
             commitResult.GetIssues().PrintTo(Cerr);
-            UNIT_ASSERT_C(commitResult.GetIssues().Size() != 0, commitResult.GetIssues().ToString());
             if (!GetIsOlap()) {
                 UNIT_ASSERT_C(HasIssue(commitResult.GetIssues(), NYql::TIssuesIds::KIKIMR_LOCKS_INVALIDATED,
                     [] (const NYql::TIssue& issue) {