Skip to content

Commit 8fe445d

Browse files
author
lexeyo
committed
feat all: replace explicit AutostartDistlock() with a .ctor parameter part 18
Мы перенесли функционал автостарта дистлока в [базовый класс](https://nda.ya.ru/t/TvJs0C667h9sPe Этот PR - часть вычистки явных вызовов AutostartDistlock. Плюс, подготовка к удалению дефолта для параметра autostart_at_base_component. #### Рефакторинг инициализации DistLock компонентов 📝 - 🛠️ Внедрена передача параметра `AutostartDistlock::kYes` в конструктор базового класса `DistLockComponentBase`, что упрощает и унифицирует логику запуска распределённой блокировки. - 🧹 Удалены ручные вызовы `AutostartDistLock()` и `StopDistLock()` в конструкторах и деструкторах, упрощая код и устраняя дублирование. - 📦 Удалены зависимости от модуля `testsuite-tasks`, что упрощает код и делает его более независимым. - 🔄 Внесены изменения в конструкторы компонентов для использования нового способа инициализации распределённой блокировки, устраняя необходимость условной логики для тестов. - 📝 Добавлен метод `DoWorkTestsuite()` в некоторых компонентах для корректной работы в тестовой среде. - ⚙️ Обновлены все компоненты, использующие `DistLockComponentBase`, для использования нового параметра автозапуска блокировки, улучшая поддержку и читаемость кода. - 🧪 Упрощена логика инициализации и завершения работы компонентов, убраны избыточные проверки и вызовы методов. <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:e9d6a30a71af353a6181d23c1d6856b2a0f87b9e
1 parent d8632fe commit 8fe445d

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

postgresql/functional_tests/metrics/service.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,13 @@ class DistlockMetrics final : public storages::postgres::DistLockComponentBase {
119119
static constexpr std::string_view kName = "component-distlock-metrics";
120120

121121
DistlockMetrics(const components::ComponentConfig& config, const components::ComponentContext& context)
122-
: storages::postgres::DistLockComponentBase(config, context) {
123-
AutostartDistLock();
124-
}
122+
: storages::postgres::DistLockComponentBase(
123+
config,
124+
context,
125+
storages::postgres::DistLockComponentBase::AutostartDistlock::kYes
126+
) {}
125127

126-
~DistlockMetrics() override { StopDistLock(); }
128+
~DistlockMetrics() override = default;
127129

128130
void DoWork() override {
129131
// noop

samples/postgres-support/src/distlock_worker.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ PgWorkerComponent::PgWorkerComponent(
88
const components::ComponentConfig& config,
99
const components::ComponentContext& context
1010
)
11-
: storages::postgres::DistLockComponentBase(config, context) {
12-
AutostartDistLock();
13-
}
11+
: storages::postgres::DistLockComponentBase(
12+
config,
13+
context,
14+
storages::postgres::DistLockComponentBase::AutostartDistlock::kYes
15+
) {}
1416

15-
PgWorkerComponent::~PgWorkerComponent() { StopDistLock(); }
17+
PgWorkerComponent::~PgWorkerComponent() = default;
1618

1719
void PgWorkerComponent::DoWork() { TESTPOINT("distlock-worker", formats::json::Value()); }
1820

0 commit comments

Comments
 (0)