From 128ea8553aaa9b5e984d7c6785083b0fc7b50e8a Mon Sep 17 00:00:00 2001 From: Sergey Skovorodkin Date: Tue, 4 Jun 2024 15:12:18 +0000 Subject: [PATCH] Increment ConnectionGeneration in ConnectToPreferredPartitionLocation --- .../ydb_topic/impl/write_session_impl.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ydb/public/sdk/cpp/client/ydb_topic/impl/write_session_impl.cpp b/ydb/public/sdk/cpp/client/ydb_topic/impl/write_session_impl.cpp index 75d834757e48..27a1784cc578 100644 --- a/ydb/public/sdk/cpp/client/ydb_topic/impl/write_session_impl.cpp +++ b/ydb/public/sdk/cpp/client/ydb_topic/impl/write_session_impl.cpp @@ -99,24 +99,22 @@ void TWriteSessionImpl::Start(const TDuration& delay) { EventsQueue = std::make_shared(Settings); } - ++ConnectionAttemptsDone; if (!Started) { with_lock(Lock) { HandleWakeUpImpl(); } InitWriter(); } - Started = true; - if (Settings.DirectWriteToPartition_ && (Settings.PartitionId_.Defined() || DirectWriteToPartitionId.Defined())) { - with_lock (Lock) { + with_lock (Lock) { + ++ConnectionAttemptsDone; + Started = true; + if (Settings.DirectWriteToPartition_ && (Settings.PartitionId_.Defined() || DirectWriteToPartitionId.Defined())) { PreferredPartitionLocation = {}; - return ConnectToPreferredPartitionLocation(delay); + ConnectToPreferredPartitionLocation(delay); + return; } } - else - { - return Connect(delay); - } + Connect(delay); } // Returns true if we need to switch to another DirectWriteToPartitionId. @@ -234,6 +232,8 @@ void TWriteSessionImpl::ConnectToPreferredPartitionLocation(const TDuration& del return; } + ++ConnectionGeneration; + prevDescribePartitionContext = std::exchange(DescribePartitionContext, describePartitionContext); Y_ASSERT(DescribePartitionContext); Cancel(prevDescribePartitionContext);