Skip to content

Commit fa495e7

Browse files
committed
fix(webapp): allow bounded admin queries on read-only connections
1 parent 77e88c4 commit fa495e7

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ function initializeLogsClickhouseClient() {
9797
});
9898
}
9999

100+
const ADMIN_CLICKHOUSE_REQUEST_TIMEOUT_MS = 30_000;
101+
100102
const defaultAdminClickhouseClient = singleton(
101103
"adminClickhouseClient",
102104
initializeAdminClickhouseClient
@@ -109,6 +111,7 @@ function initializeAdminClickhouseClient() {
109111

110112
const url = new URL(env.ADMIN_CLICKHOUSE_URL);
111113
url.searchParams.delete("secure");
114+
url.searchParams.delete("readonly");
112115

113116
return new ClickHouse({
114117
url: url.toString(),
@@ -120,6 +123,10 @@ function initializeAdminClickhouseClient() {
120123
logLevel: env.CLICKHOUSE_LOG_LEVEL,
121124
compression: { request: true },
122125
maxOpenConnections: env.CLICKHOUSE_MAX_OPEN_CONNECTIONS,
126+
// readonly=2 blocks writes while allowing bounded per-query settings.
127+
clickhouseSettings: { readonly: 2 },
128+
// Keep this above the missing-model query's 25-second execution limit.
129+
requestTimeoutMs: ADMIN_CLICKHOUSE_REQUEST_TIMEOUT_MS,
123130
});
124131
}
125132

0 commit comments

Comments
 (0)