Skip to content

Commit 7295a19

Browse files
committed
refactor: adjust wal defaults
1 parent a8d7f3f commit 7295a19

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

packages/utils/src/lib/wal.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,10 @@ export function parseWalFormat<T extends object | string = object>(
351351
*
352352
* @returns true if this is the leader WAL process, false otherwise
353353
*/
354-
export function isLeaderWal(envVarName: string, profilerID: string): boolean {
354+
export function isCoordinarotProcess(
355+
envVarName: string,
356+
profilerID: string,
357+
): boolean {
355358
return process.env[envVarName] === profilerID;
356359
}
357360

@@ -504,15 +507,15 @@ export class ShardedWal<T extends object | string = object> {
504507
dir?: string;
505508
format: Partial<WalFormat<T>>;
506509
groupId?: string;
507-
coordinatorIdEnvVar?: string;
510+
coordinatorIdEnvVar: string;
508511
}) {
509512
const { dir, format, groupId, coordinatorIdEnvVar } = opt;
510513
this.groupId = groupId ?? getShardedGroupId();
511514
if (dir) {
512515
this.#dir = dir;
513516
}
514517
this.#format = parseWalFormat<T>(format);
515-
this.#isCoordinator = isLeaderWal(coordinatorIdEnvVar, this.#id);
518+
this.#isCoordinator = isCoordinarotProcess(coordinatorIdEnvVar, this.#id);
516519
}
517520

518521
/**

packages/utils/src/lib/wal.unit.test.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
import { vol } from 'memfs';
22
import { beforeEach, describe, expect, it, vi } from 'vitest';
33
import { MEMFS_VOLUME } from '@code-pushup/test-utils';
4+
import { SHARDED_WAL_COORDINATOR_ID_ENV_VAR } from './profiler/constants';
45
import {
56
type Codec,
7+
type InvalidEntry,
68
ShardedWal,
79
WAL_ID_PATTERNS,
810
WriteAheadLogFile,
911
createTolerantCodec,
1012
filterValidRecords,
1113
getShardId,
1214
getShardedGroupId,
13-
isLeaderWal,
15+
isCoordinarotProcess,
1416
parseWalFormat,
1517
recoverFromContent,
1618
setLeaderWal,
@@ -682,7 +684,7 @@ describe('isLeaderWal', () => {
682684
const profilerId = `${Math.round(performance.timeOrigin)}${process.pid}.1.0`;
683685
vi.stubEnv('TEST_LEADER_PID', profilerId);
684686

685-
const result = isLeaderWal('TEST_LEADER_PID', profilerId);
687+
const result = isCoordinarotProcess('TEST_LEADER_PID', profilerId);
686688
expect(result).toBe(true);
687689
});
688690

@@ -691,23 +693,23 @@ describe('isLeaderWal', () => {
691693
vi.stubEnv('TEST_LEADER_PID', wrongProfilerId);
692694

693695
const currentProfilerId = `${Math.round(performance.timeOrigin)}${process.pid}.1.0`;
694-
const result = isLeaderWal('TEST_LEADER_PID', currentProfilerId);
696+
const result = isCoordinarotProcess('TEST_LEADER_PID', currentProfilerId);
695697
expect(result).toBe(false);
696698
});
697699

698700
it('should return false when env var is not set', () => {
699701
vi.stubEnv('NON_EXISTENT_VAR', undefined as any);
700702

701703
const profilerId = `${Math.round(performance.timeOrigin)}${process.pid}.1.0`;
702-
const result = isLeaderWal('NON_EXISTENT_VAR', profilerId);
704+
const result = isCoordinarotProcess('NON_EXISTENT_VAR', profilerId);
703705
expect(result).toBe(false);
704706
});
705707

706708
it('should return false when env var is empty string', () => {
707709
vi.stubEnv('TEST_LEADER_PID', '');
708710

709711
const profilerId = `${Math.round(performance.timeOrigin)}${process.pid}.1.0`;
710-
const result = isLeaderWal('TEST_LEADER_PID', profilerId);
712+
const result = isCoordinarotProcess('TEST_LEADER_PID', profilerId);
711713
expect(result).toBe(false);
712714
});
713715
});
@@ -758,6 +760,7 @@ describe('ShardedWal', () => {
758760
format: {
759761
baseName: 'test-wal',
760762
},
763+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
761764
});
762765

763766
expect(sw).toBeInstanceOf(ShardedWal);
@@ -770,6 +773,7 @@ describe('ShardedWal', () => {
770773
baseName: 'trace',
771774
walExtension: '.log',
772775
},
776+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
773777
});
774778

775779
const shard = sw.shard('20231114-221320-000.1.2.3');
@@ -786,6 +790,7 @@ describe('ShardedWal', () => {
786790
baseName: 'trace',
787791
walExtension: '.log',
788792
},
793+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
789794
});
790795

791796
const shard = sw.shard();
@@ -801,6 +806,7 @@ describe('ShardedWal', () => {
801806
format: {
802807
baseName: 'test-wal',
803808
},
809+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
804810
});
805811
const files = (sw as any).shardFiles();
806812
expect(files).toEqual([]);
@@ -812,6 +818,7 @@ describe('ShardedWal', () => {
812818
format: {
813819
baseName: 'test-wal',
814820
},
821+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
815822
});
816823
// Create the group directory (matches actual getShardedGroupId() output)
817824
vol.mkdirSync('/empty/20231114-221320-000', { recursive: true });
@@ -834,6 +841,7 @@ describe('ShardedWal', () => {
834841
baseName: 'trace',
835842
walExtension: '.log',
836843
},
844+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
837845
});
838846
const files = (sw as any).shardFiles();
839847

@@ -858,6 +866,7 @@ describe('ShardedWal', () => {
858866
finalExtension: '.json',
859867
finalizer: records => `${JSON.stringify(records)}\n`,
860868
},
869+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
861870
});
862871

863872
// Create the group directory
@@ -885,6 +894,7 @@ describe('ShardedWal', () => {
885894
finalExtension: '.json',
886895
finalizer: records => `${JSON.stringify(records)}\n`,
887896
},
897+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
888898
});
889899

890900
sw.finalize();
@@ -920,6 +930,7 @@ describe('ShardedWal', () => {
920930
codec: tolerantCodec,
921931
finalizer: records => `${JSON.stringify(records)}\n`,
922932
},
933+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
923934
});
924935

925936
sw.finalize();
@@ -945,6 +956,7 @@ describe('ShardedWal', () => {
945956
baseName: 'test',
946957
walExtension: '.log',
947958
},
959+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
948960
});
949961

950962
expect(vol.toJSON()).toStrictEqual({
@@ -971,6 +983,7 @@ describe('ShardedWal', () => {
971983
baseName: 'test',
972984
walExtension: '.log',
973985
},
986+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
974987
});
975988

976989
vol.unlinkSync(
@@ -994,6 +1007,7 @@ describe('ShardedWal', () => {
9941007
finalizer: (records, opt) =>
9951008
`${JSON.stringify({ records, meta: opt })}\n`,
9961009
},
1010+
coordinatorIdEnvVar: SHARDED_WAL_COORDINATOR_ID_ENV_VAR,
9971011
});
9981012

9991013
sw.finalize({ version: '1.0', compressed: true });

0 commit comments

Comments
 (0)