@@ -218,6 +218,7 @@ class TPersQueueMetaCacheActor : public TActorBootstrapped<TPersQueueMetaCacheAc
218218 req->Record .MutableRequest ()->SetType (NKikimrKqp::QUERY_TYPE_SQL_DML);
219219 req->Record .MutableRequest ()->SetKeepSession (false );
220220 req->Record .MutableRequest ()->SetDatabase (NKikimr::NPQ::GetDatabaseFromConfig (AppData (ctx)->PQConfig ));
221+ req->Record .MutableRequest ()->SetUsePublicResponseDataFormat (true );
221222
222223 req->Record .MutableRequest ()->MutableQueryCachePolicy ()->set_keep_in_cache (true );
223224 req->Record .MutableRequest ()->MutableTxControl ()->mutable_begin_tx ()->mutable_serializable_read_write ();
@@ -274,9 +275,14 @@ class TPersQueueMetaCacheActor : public TActorBootstrapped<TPersQueueMetaCacheAc
274275
275276 const auto & record = ev->Get ()->Record .GetRef ();
276277
277- Y_ABORT_UNLESS (record.GetResponse ().GetResults ().size () == 1 );
278- const auto & rr = record.GetResponse ().GetResults (0 ).GetValue ().GetStruct (0 );
279- ui64 newVersion = rr.ListSize () == 0 ? 0 : rr.GetList (0 ).GetStruct (0 ).GetOptional ().GetInt64 ();
278+ Y_VERIFY (record.GetResponse ().YdbResultsSize () == 1 );
279+ NYdb::TResultSetParser parser (record.GetResponse ().GetYdbResults (0 ));
280+
281+ ui64 newVersion = 0 ;
282+ if (parser.RowsCount () != 0 ) {
283+ parser.TryNextRow ();
284+ newVersion = *parser.ColumnParser (0 ).GetOptionalInt64 ();
285+ }
280286
281287 LastVersionUpdate = ctx.Now ();
282288 if (newVersion > CurrentTopicsVersion || CurrentTopicsVersion == 0 || SkipVersionCheck) {
@@ -293,17 +299,18 @@ class TPersQueueMetaCacheActor : public TActorBootstrapped<TPersQueueMetaCacheAc
293299
294300 const auto & record = ev->Get ()->Record .GetRef ();
295301
296- Y_ABORT_UNLESS (record.GetResponse ().GetResults (). size () == 1 );
302+ Y_VERIFY (record.GetResponse ().YdbResultsSize () == 1 );
297303 TString path, dc;
298- const auto & rr = record.GetResponse ().GetResults (0 ). GetValue (). GetStruct ( 0 );
299- for ( const auto & row : rr. GetList ()) {
300-
301- path = row. GetStruct (0 ).GetOptional (). GetText ();
302- dc = row. GetStruct (1 ).GetOptional (). GetText ();
304+ NYdb::TResultSetParser parser ( record.GetResponse ().GetYdbResults (0 ));
305+ const ui32 rowCount = parser. RowsCount ();
306+ while (parser. TryNextRow ()) {
307+ path = *parser. ColumnParser (0 ).GetOptionalUtf8 ();
308+ dc = *parser. ColumnParser (1 ).GetOptionalUtf8 ();
303309
304310 NewTopics.emplace_back (decltype (NewTopics)::value_type{path, dc});
305311 }
306- if (rr.ListSize () > 0 ) {
312+
313+ if (rowCount > 0 ) {
307314 LastTopicKey = {path, dc};
308315 return RunQuery (EQueryType::EGetTopics, ctx);
309316 } else {
@@ -710,7 +717,7 @@ class TPersQueueMetaCacheActor : public TActorBootstrapped<TPersQueueMetaCacheAc
710717 void ProcessNodesInfoWaitersQueue (bool status, const TActorContext& ctx) {
711718 if (DynamicNodesMapping == nullptr ) {
712719 Y_ABORT_UNLESS (!status);
713- DynamicNodesMapping.reset (new THashMap<ui32, ui32>);
720+ DynamicNodesMapping.reset (new THashMap<ui32, ui32>);
714721 }
715722 while (!NodesMappingWaiters.empty ()) {
716723 ctx.Send (NodesMappingWaiters.front (),
0 commit comments