Skip to content

Commit 9a36542

Browse files
committed
fix(webapp): keep log projection writes off read replicas
1 parent d887475 commit 9a36542

2 files changed

Lines changed: 5 additions & 16 deletions

File tree

apps/webapp/app/env.server.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2097,8 +2097,8 @@ const EnvironmentSchema = z
20972097
// Keep reads on v1 until the scheduled v2 projector has enough history.
20982098
LOGS_SEARCH_TABLE_VERSION: z.enum(["v1", "v2"]).default("v1"),
20992099

2100-
// Scheduled logs-search projection. Disabled by default. LOGS_CLICKHOUSE_URL must reach both
2101-
// the task_events_v2 source and task_events_search_v2 destination tables.
2100+
// Scheduled logs-search projection. Disabled by default. LOGS_CLICKHOUSE_URL, or the
2101+
// CLICKHOUSE_URL fallback, must reach both source and destination tables and allow writes.
21022102
LOGS_SEARCH_PROJECTOR_ENABLED: BoolEnv.default(false),
21032103
LOGS_SEARCH_PROJECTOR_PREVIEW_ENABLED: BoolEnv.default(false),
21042104
LOGS_SEARCH_PROJECTOR_MAX_WINDOWS_PER_TICK: z.coerce.number().int().min(1).max(20).default(5),
@@ -2127,10 +2127,7 @@ const EnvironmentSchema = z
21272127
AI_FEATURES_ENABLED: z.string().default("0"),
21282128

21292129
// Logs page ClickHouse URL (for logs queries)
2130-
LOGS_CLICKHOUSE_URL: z
2131-
.string()
2132-
.optional()
2133-
.transform((v) => v ?? process.env.CLICKHOUSE_READER_URL ?? process.env.CLICKHOUSE_URL),
2130+
LOGS_CLICKHOUSE_URL: z.string().optional(),
21342131

21352132
// Query page ClickHouse limits (for TSQL queries)
21362133
QUERY_CLICKHOUSE_URL: z

apps/webapp/app/services/clickhouse/clickhouseFactory.server.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ const defaultLogsClickhouseClient = singleton(
3838
);
3939

4040
function initializeLogsSearchProjectorClickhouseClient() {
41-
if (!env.LOGS_CLICKHOUSE_URL) {
42-
throw new Error("LOGS_CLICKHOUSE_URL is not set");
43-
}
44-
45-
const url = new URL(env.LOGS_CLICKHOUSE_URL);
41+
const url = new URL(env.LOGS_CLICKHOUSE_URL ?? env.CLICKHOUSE_URL);
4642
url.searchParams.delete("secure");
4743

4844
return new ClickHouse({
@@ -84,11 +80,7 @@ function getLogsListClickhouseSettings() {
8480
}
8581

8682
function initializeLogsClickhouseClient() {
87-
if (!env.LOGS_CLICKHOUSE_URL) {
88-
throw new Error("LOGS_CLICKHOUSE_URL is not set");
89-
}
90-
91-
const url = new URL(env.LOGS_CLICKHOUSE_URL);
83+
const url = new URL(env.LOGS_CLICKHOUSE_URL ?? env.CLICKHOUSE_READER_URL ?? env.CLICKHOUSE_URL);
9284
url.searchParams.delete("secure");
9385

9486
return new ClickHouse({

0 commit comments

Comments
 (0)