Skip to content

Commit d55216b

Browse files
committed
Use the same ClickHouse settings for org specific clients
1 parent 6b3fcd3 commit d55216b

1 file changed

Lines changed: 73 additions & 24 deletions

File tree

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

Lines changed: 73 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,21 @@ const defaultLogsClickhouseClient = singleton(
3636
initializeLogsClickhouseClient
3737
);
3838

39+
function getLogsListClickhouseSettings() {
40+
return {
41+
max_memory_usage: env.CLICKHOUSE_LOGS_LIST_MAX_MEMORY_USAGE.toString(),
42+
max_bytes_before_external_sort:
43+
env.CLICKHOUSE_LOGS_LIST_MAX_BYTES_BEFORE_EXTERNAL_SORT.toString(),
44+
max_threads: env.CLICKHOUSE_LOGS_LIST_MAX_THREADS,
45+
...(env.CLICKHOUSE_LOGS_LIST_MAX_ROWS_TO_READ && {
46+
max_rows_to_read: env.CLICKHOUSE_LOGS_LIST_MAX_ROWS_TO_READ.toString(),
47+
}),
48+
...(env.CLICKHOUSE_LOGS_LIST_MAX_EXECUTION_TIME && {
49+
max_execution_time: env.CLICKHOUSE_LOGS_LIST_MAX_EXECUTION_TIME,
50+
}),
51+
};
52+
}
53+
3954
function initializeLogsClickhouseClient() {
4055
if (!env.LOGS_CLICKHOUSE_URL) {
4156
throw new Error("LOGS_CLICKHOUSE_URL is not set");
@@ -54,18 +69,7 @@ function initializeLogsClickhouseClient() {
5469
logLevel: env.CLICKHOUSE_LOG_LEVEL,
5570
compression: { request: true },
5671
maxOpenConnections: env.CLICKHOUSE_MAX_OPEN_CONNECTIONS,
57-
clickhouseSettings: {
58-
max_memory_usage: env.CLICKHOUSE_LOGS_LIST_MAX_MEMORY_USAGE.toString(),
59-
max_bytes_before_external_sort:
60-
env.CLICKHOUSE_LOGS_LIST_MAX_BYTES_BEFORE_EXTERNAL_SORT.toString(),
61-
max_threads: env.CLICKHOUSE_LOGS_LIST_MAX_THREADS,
62-
...(env.CLICKHOUSE_LOGS_LIST_MAX_ROWS_TO_READ && {
63-
max_rows_to_read: env.CLICKHOUSE_LOGS_LIST_MAX_ROWS_TO_READ.toString(),
64-
}),
65-
...(env.CLICKHOUSE_LOGS_LIST_MAX_EXECUTION_TIME && {
66-
max_execution_time: env.CLICKHOUSE_LOGS_LIST_MAX_EXECUTION_TIME,
67-
}),
68-
},
72+
clickhouseSettings: getLogsListClickhouseSettings(),
6973
});
7074
}
7175

@@ -163,18 +167,63 @@ export type ClientType = "standard" | "events" | "replication" | "logs" | "query
163167
function buildOrgClickhouseClient(url: string, clientType: ClientType): ClickHouse {
164168
const parsed = new URL(url);
165169
parsed.searchParams.delete("secure");
166-
167-
return new ClickHouse({
168-
url: parsed.toString(),
169-
name: `org-clickhouse-${clientType}`,
170-
keepAlive: {
171-
enabled: env.CLICKHOUSE_KEEP_ALIVE_ENABLED === "1",
172-
idleSocketTtl: env.CLICKHOUSE_KEEP_ALIVE_IDLE_SOCKET_TTL_MS,
173-
},
174-
logLevel: env.CLICKHOUSE_LOG_LEVEL,
175-
compression: { request: true },
176-
maxOpenConnections: env.CLICKHOUSE_MAX_OPEN_CONNECTIONS,
177-
});
170+
const name = `org-clickhouse-${clientType}`;
171+
172+
switch (clientType) {
173+
case "events":
174+
return new ClickHouse({
175+
url: parsed.toString(),
176+
name,
177+
keepAlive: {
178+
enabled: env.EVENTS_CLICKHOUSE_KEEP_ALIVE_ENABLED === "1",
179+
idleSocketTtl: env.EVENTS_CLICKHOUSE_KEEP_ALIVE_IDLE_SOCKET_TTL_MS,
180+
},
181+
logLevel: env.EVENTS_CLICKHOUSE_LOG_LEVEL,
182+
compression: {
183+
request: env.EVENTS_CLICKHOUSE_COMPRESSION_REQUEST === "1",
184+
},
185+
maxOpenConnections: env.EVENTS_CLICKHOUSE_MAX_OPEN_CONNECTIONS,
186+
});
187+
case "replication":
188+
return new ClickHouse({
189+
url: parsed.toString(),
190+
name,
191+
keepAlive: {
192+
enabled: env.RUN_REPLICATION_KEEP_ALIVE_ENABLED === "1",
193+
idleSocketTtl: env.RUN_REPLICATION_KEEP_ALIVE_IDLE_SOCKET_TTL_MS,
194+
},
195+
logLevel: env.RUN_REPLICATION_CLICKHOUSE_LOG_LEVEL,
196+
compression: { request: true },
197+
maxOpenConnections: env.RUN_REPLICATION_MAX_OPEN_CONNECTIONS,
198+
});
199+
case "logs":
200+
return new ClickHouse({
201+
url: parsed.toString(),
202+
name,
203+
keepAlive: {
204+
enabled: env.CLICKHOUSE_KEEP_ALIVE_ENABLED === "1",
205+
idleSocketTtl: env.CLICKHOUSE_KEEP_ALIVE_IDLE_SOCKET_TTL_MS,
206+
},
207+
logLevel: env.CLICKHOUSE_LOG_LEVEL,
208+
compression: { request: true },
209+
maxOpenConnections: env.CLICKHOUSE_MAX_OPEN_CONNECTIONS,
210+
clickhouseSettings: getLogsListClickhouseSettings(),
211+
});
212+
case "standard":
213+
case "query":
214+
case "admin":
215+
return new ClickHouse({
216+
url: parsed.toString(),
217+
name,
218+
keepAlive: {
219+
enabled: env.CLICKHOUSE_KEEP_ALIVE_ENABLED === "1",
220+
idleSocketTtl: env.CLICKHOUSE_KEEP_ALIVE_IDLE_SOCKET_TTL_MS,
221+
},
222+
logLevel: env.CLICKHOUSE_LOG_LEVEL,
223+
compression: { request: true },
224+
maxOpenConnections: env.CLICKHOUSE_MAX_OPEN_CONNECTIONS,
225+
});
226+
}
178227
}
179228

180229
// ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)