From 288cce6370f72c097f71a6bdd61c8e4c7f7d2e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Tue, 25 Feb 2025 17:22:15 +0100 Subject: [PATCH] refactor(core): Simplify license autorenewal on leadership transition (#13503) --- packages/cli/src/__tests__/license.test.ts | 16 ---------------- packages/cli/src/commands/start.ts | 4 ++-- packages/cli/src/license.ts | 16 ++++++++-------- 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/packages/cli/src/__tests__/license.test.ts b/packages/cli/src/__tests__/license.test.ts index fb82f312ee..77dd8b2fc5 100644 --- a/packages/cli/src/__tests__/license.test.ts +++ b/packages/cli/src/__tests__/license.test.ts @@ -285,20 +285,4 @@ describe('License', () => { ); }); }); - - describe('reinit', () => { - it('should reinitialize license manager', async () => { - const license = new License(mockLogger(), mock(), mock(), mock(), mock()); - await license.init(); - - const initSpy = jest.spyOn(license, 'init'); - - await license.reinit(); - - expect(initSpy).toHaveBeenCalledWith({ forceRecreate: true }); - - expect(LicenseManager.prototype.reset).toHaveBeenCalled(); - expect(LicenseManager.prototype.initialize).toHaveBeenCalled(); - }); - }); }); diff --git a/packages/cli/src/commands/start.ts b/packages/cli/src/commands/start.ts index cec2f395bb..887ba2a1b7 100644 --- a/packages/cli/src/commands/start.ts +++ b/packages/cli/src/commands/start.ts @@ -263,11 +263,11 @@ export class Start extends BaseCommand { orchestrationService.multiMainSetup .on('leader-stepdown', async () => { - await this.license.reinit(); // to disable renewal + this.license.disableAutoRenewals(); await this.activeWorkflowManager.removeAllTriggerAndPollerBasedWorkflows(); }) .on('leader-takeover', async () => { - await this.license.reinit(); // to enable renewal + this.license.enableAutoRenewals(); await this.activeWorkflowManager.addAllTriggerAndPollerBasedWorkflows(); }); } diff --git a/packages/cli/src/license.ts b/packages/cli/src/license.ts index 8118405b76..3ae36e9a3c 100644 --- a/packages/cli/src/license.ts +++ b/packages/cli/src/license.ts @@ -381,14 +381,6 @@ export class License { return this.getUsersLimit() === UNLIMITED_LICENSE_QUOTA; } - async reinit() { - if (this.manager) { - await this.manager.reset(); - } - await this.init({ forceRecreate: true }); - this.logger.debug('License reinitialized'); - } - /** * Ensures that the instance is licensed for multi-main setup if multi-main mode is enabled */ @@ -429,4 +421,12 @@ export class License { Container.get(ObjectStoreService).setReadonly(true); } } + + enableAutoRenewals() { + this.manager?.enableAutoRenewals(); + } + + disableAutoRenewals() { + this.manager?.disableAutoRenewals(); + } }