aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksei Borzenkov <snaury@ydb.tech>2025-07-30 12:20:58 +0300
committerGitHub <noreply@github.com>2025-07-30 09:20:58 +0000
commit1a59cd63f986914c1794f6337ad09b5007f5b18d (patch)
tree6b64403c47b63be1bc46af545a42dfb6f1ffb8f7
parent2f87b776a601db60d6d1b7484897545d96fa3112 (diff)
downloadydb-1a59cd63f986914c1794f6337ad09b5007f5b18d.tar.gz
Fix uninitialized FollowerId field (#21925)
-rw-r--r--ydb/core/tablet/tablet_sys.cpp5
-rw-r--r--ydb/core/tablet/tablet_sys.h7
2 files changed, 6 insertions, 6 deletions
diff --git a/ydb/core/tablet/tablet_sys.cpp b/ydb/core/tablet/tablet_sys.cpp
index 1fcced69c36..e1800cf7a1f 100644
--- a/ydb/core/tablet/tablet_sys.cpp
+++ b/ydb/core/tablet/tablet_sys.cpp
@@ -791,7 +791,7 @@ void TTablet::HandleByLeader(TEvTablet::TEvFollowerAttach::TPtr &ev) {
auto followerItPair = LeaderInfo.emplace(
std::piecewise_construct,
std::forward_as_tuple(ev->Sender),
- std::forward_as_tuple(EFollowerSyncState::Pending));
+ std::forward_as_tuple(ev->Sender, EFollowerSyncState::Pending));
Y_ABORT_UNLESS(followerItPair.second);
followerIt = followerItPair.first;
@@ -799,7 +799,6 @@ void TTablet::HandleByLeader(TEvTablet::TEvFollowerAttach::TPtr &ev) {
TLeaderInfo &followerInfo = followerIt->second;
- followerInfo.FollowerId = followerId;
followerInfo.InterconnectSession = ev->InterconnectSession;
followerInfo.FollowerAttempt = record.GetFollowerAttempt();
followerInfo.StreamCounter = 0;
@@ -940,7 +939,7 @@ void TTablet::HandleStateStorageInfoUpgrade(TEvStateStorage::TEvInfo::TPtr &ev)
auto itPair = LeaderInfo.emplace(
std::piecewise_construct,
std::forward_as_tuple(xpair.first),
- std::forward_as_tuple(EFollowerSyncState::NeedSync));
+ std::forward_as_tuple(xpair.first, EFollowerSyncState::NeedSync));
// some followers could be already present by active TEvFollowerAttach
if (itPair.second)
TrySyncToFollower(itPair.first);
diff --git a/ydb/core/tablet/tablet_sys.h b/ydb/core/tablet/tablet_sys.h
index 46fecd7dfac..2fa7945fa7c 100644
--- a/ydb/core/tablet/tablet_sys.h
+++ b/ydb/core/tablet/tablet_sys.h
@@ -179,7 +179,7 @@ class TTablet : public TActor<TTablet> {
};
struct TLeaderInfo : public TIntrusiveListItem<TLeaderInfo> {
- TActorId FollowerId;
+ const TActorId FollowerId;
TActorId InterconnectSession;
ui32 FollowerAttempt;
ui64 StreamCounter;
@@ -194,8 +194,9 @@ class TTablet : public TActor<TTablet> {
ui32 ConfirmedGCStep;
bool PresentInList;
- TLeaderInfo(EFollowerSyncState syncState = EFollowerSyncState::Pending)
- : FollowerAttempt(Max<ui32>())
+ explicit TLeaderInfo(const TActorId& followerId, EFollowerSyncState syncState)
+ : FollowerId(followerId)
+ , FollowerAttempt(Max<ui32>())
, StreamCounter(0)
, SyncState(syncState)
, LastSyncAttempt(TInstant::Zero())