aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkomels <komels@ydb.tech>2023-08-07 23:05:50 +0300
committerkomels <komels@ydb.tech>2023-08-08 00:57:46 +0300
commitf872f48f2bb4ba264b430f1e28a74f05dc5f444b (patch)
tree8cab545ff27df6c0e1243e07223d108453301491
parentaf0e5c2e73f675d986b10502213817981866d4c5 (diff)
downloadydb-f872f48f2bb4ba264b430f1e28a74f05dc5f444b.tar.gz
TopicID
-rw-r--r--ydb/core/kafka_proxy/actors/kafka_metadata_actor.cpp1
-rw-r--r--ydb/core/kafka_proxy/ut/metarequest_ut.cpp1
-rw-r--r--ydb/services/persqueue_v1/actors/events.h1
-rw-r--r--ydb/services/persqueue_v1/actors/schema_actors.cpp4
-rw-r--r--ydb/services/persqueue_v1/actors/schema_actors.h2
5 files changed, 7 insertions, 2 deletions
diff --git a/ydb/core/kafka_proxy/actors/kafka_metadata_actor.cpp b/ydb/core/kafka_proxy/actors/kafka_metadata_actor.cpp
index 95ebca717bf..7ca829e4e48 100644
--- a/ydb/core/kafka_proxy/actors/kafka_metadata_actor.cpp
+++ b/ydb/core/kafka_proxy/actors/kafka_metadata_actor.cpp
@@ -52,6 +52,7 @@ void TKafkaMetadataActor::AddTopicError(
void TKafkaMetadataActor::AddTopicResponse(TMetadataResponseData::TMetadataResponseTopic& topic, TEvLocationResponse* response) {
topic.ErrorCode = NONE_ERROR;
+ topic.TopicId = response->BalancerTabletId;
topic.Partitions.reserve(response->Partitions.size());
for (const auto& part : response->Partitions) {
TMetadataResponseData::TMetadataResponseTopic::PartitionsMeta::ItemType responsePartition;
diff --git a/ydb/core/kafka_proxy/ut/metarequest_ut.cpp b/ydb/core/kafka_proxy/ut/metarequest_ut.cpp
index cb8da65f679..ee4dc59590b 100644
--- a/ydb/core/kafka_proxy/ut/metarequest_ut.cpp
+++ b/ydb/core/kafka_proxy/ut/metarequest_ut.cpp
@@ -48,6 +48,7 @@ Y_UNIT_TEST_SUITE(TMetadataActorTests) {
UNIT_ASSERT(response->Topics[0].ErrorCode == EKafkaErrors::NONE_ERROR);
UNIT_ASSERT_VALUES_EQUAL(response->Topics[0].Partitions.size(), 5);
UNIT_ASSERT_VALUES_EQUAL(response->Topics[0].Partitions[0].ReplicaNodes.size(), 1);
+ UNIT_ASSERT(response->Topics[0].TopicId > 0);
event = GetEvent(server, edgeId, {topicPath, topicPath2});
response = dynamic_cast<TMetadataResponseData*>(event->Response.get());
diff --git a/ydb/services/persqueue_v1/actors/events.h b/ydb/services/persqueue_v1/actors/events.h
index efc0f67e25a..ba7e6d0ec24 100644
--- a/ydb/services/persqueue_v1/actors/events.h
+++ b/ydb/services/persqueue_v1/actors/events.h
@@ -464,6 +464,7 @@ struct TEvPQProxy {
{
TEvPartitionLocationResponse() {}
TVector<TPartitionLocationInfo> Partitions;
+ ui64 BalancerTabletId;
};
};
diff --git a/ydb/services/persqueue_v1/actors/schema_actors.cpp b/ydb/services/persqueue_v1/actors/schema_actors.cpp
index 4ff1fb6f827..b0612796a0b 100644
--- a/ydb/services/persqueue_v1/actors/schema_actors.cpp
+++ b/ydb/services/persqueue_v1/actors/schema_actors.cpp
@@ -1415,7 +1415,9 @@ void TPartitionsLocationActor::HandleCacheNavigateResponse(
if (!TBase::HandleCacheNavigateResponseBase(ev)) {
return;
}
- ProcessTablets(PQGroupInfo->Description, this->ActorContext());
+ if (ProcessTablets(PQGroupInfo->Description, this->ActorContext())) {
+ Response->BalancerTabletId = BalancerTabletId;
+ }
}
bool TPartitionsLocationActor::ApplyResponse(
diff --git a/ydb/services/persqueue_v1/actors/schema_actors.h b/ydb/services/persqueue_v1/actors/schema_actors.h
index e5d25dcaee9..1f492755df0 100644
--- a/ydb/services/persqueue_v1/actors/schema_actors.h
+++ b/ydb/services/persqueue_v1/actors/schema_actors.h
@@ -172,10 +172,10 @@ private:
bool PendingLocation = false;
bool GotLocation = false;
- ui64 BalancerTabletId = 0;
TActorId* BalancerPipe = nullptr;
protected:
+ ui64 BalancerTabletId = 0;
ui32 TotalPartitions = 0;
TDescribeTopicActorSettings Settings;
};