From 8772f5e294b48aff20cfe9ed3468666a6cb8b764 Mon Sep 17 00:00:00 2001 From: Aaron Knudtson <87577305+knudtty@users.noreply.github.com> Date: Tue, 24 Feb 2026 15:24:43 -0500 Subject: [PATCH] chore: update clickhouse version for compose files to 26.1 (#1791) --- .changeset/beige-lizards-peel.md | 5 +++++ docker-compose.ci.yml | 2 +- docker-compose.dev.yml | 2 +- docker-compose.yml | 2 +- docker/hyperdx/Dockerfile | 2 +- packages/api/package.json | 2 +- packages/api/src/fixtures.ts | 4 ---- packages/app/tests/e2e/docker-compose.yml | 2 +- packages/common-utils/src/__tests__/clickhouse.test.ts | 5 +++++ packages/common-utils/src/clickhouse/index.ts | 1 + 10 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 .changeset/beige-lizards-peel.md diff --git a/.changeset/beige-lizards-peel.md b/.changeset/beige-lizards-peel.md new file mode 100644 index 00000000..4ddf31ae --- /dev/null +++ b/.changeset/beige-lizards-peel.md @@ -0,0 +1,5 @@ +--- +"@hyperdx/app": patch +--- + +chore: update clickhouse versions for compose files diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml index dc928bcc..3e54f488 100644 --- a/docker-compose.ci.yml +++ b/docker-compose.ci.yml @@ -23,7 +23,7 @@ services: depends_on: - ch-server ch-server: - image: clickhouse/clickhouse-server:25.6-alpine + image: clickhouse/clickhouse-server:26.1-alpine environment: # default settings CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index ccb6a1a1..fbadfd03 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -85,7 +85,7 @@ services: ch-server: condition: service_healthy ch-server: - image: clickhouse/clickhouse-server:25.7-alpine + image: clickhouse/clickhouse-server:26.1-alpine ports: - 8123:8123 # http api - 9000:9000 # native diff --git a/docker-compose.yml b/docker-compose.yml index 199e1c99..3e6fe3ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -79,7 +79,7 @@ services: - ch-server - db ch-server: - image: clickhouse/clickhouse-server:25.6-alpine + image: clickhouse/clickhouse-server:26.1-alpine # WARNING: Exposing the database port will make it accessible from outside the container, # potentially allowing unauthorized access. If you uncomment the ports below, # ensure to secure your database (e.g., with strong authentication, proper network rules, and firewalls). diff --git a/docker/hyperdx/Dockerfile b/docker/hyperdx/Dockerfile index 53c37eb4..33f698f4 100644 --- a/docker/hyperdx/Dockerfile +++ b/docker/hyperdx/Dockerfile @@ -8,7 +8,7 @@ # - Otel Collector (otelcol) ARG NODE_VERSION=22.22 -ARG CLICKHOUSE_VERSION=25.12 +ARG CLICKHOUSE_VERSION=26.1 ARG OTEL_COLLECTOR_VERSION=0.145.0 ARG OTEL_COLLECTOR_OPAMPSUPERVISOR_VERSION=0.145.0 diff --git a/packages/api/package.json b/packages/api/package.json index 51e6e9e4..f5622702 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -88,7 +88,7 @@ "lint:fix": "npx eslint . --ext .ts --fix", "ci:lint": "yarn lint && yarn tsc --noEmit", "ci:int": "DOTENV_CONFIG_PATH=.env.test jest --runInBand --ci --forceExit --coverage", - "dev:int": "DOTENV_CONFIG_PATH=.env.test jest --watchAll --runInBand --detectOpenHandles", + "dev:int": "DOTENV_CONFIG_PATH=.env.test node --inspect-brk ../../node_modules/.bin/jest --runInBand --ci --forceExit --coverage", "dev:migrate-db-create": "ts-node node_modules/.bin/migrate-mongo create -f migrate-mongo-config.ts", "dev:migrate-db": "ts-node node_modules/.bin/migrate-mongo up -f migrate-mongo-config.ts", "dev:migrate-ch-create": "migrate create -ext sql -dir ./migrations/ch -seq", diff --git a/packages/api/src/fixtures.ts b/packages/api/src/fixtures.ts index 69661975..47ed7118 100644 --- a/packages/api/src/fixtures.ts +++ b/packages/api/src/fixtures.ts @@ -108,7 +108,6 @@ const connectClickhouse = async () => { PARTITION BY toDate(TimestampTime) PRIMARY KEY (ServiceName, TimestampTime) ORDER BY (ServiceName, TimestampTime, Timestamp) - TTL TimestampTime + toIntervalDay(3) SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1 `, // Recommended for cluster usage to avoid situations @@ -150,7 +149,6 @@ const connectClickhouse = async () => { ENGINE = MergeTree PARTITION BY toDate(TimeUnix) ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) - TTL toDateTime(TimeUnix) + toIntervalDay(3) SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1 `, // Recommended for cluster usage to avoid situations @@ -194,7 +192,6 @@ const connectClickhouse = async () => { ENGINE = MergeTree PARTITION BY toDate(TimeUnix) ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) - TTL toDateTime(TimeUnix) + toIntervalDay(15) SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1 `, // Recommended for cluster usage to avoid situations @@ -242,7 +239,6 @@ const connectClickhouse = async () => { ENGINE = MergeTree PARTITION BY toDate(TimeUnix) ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) - TTL toDateTime(TimeUnix) + toIntervalDay(3) SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1 `, // Recommended for cluster usage to avoid situations diff --git a/packages/app/tests/e2e/docker-compose.yml b/packages/app/tests/e2e/docker-compose.yml index b5bf2355..7ef37618 100644 --- a/packages/app/tests/e2e/docker-compose.yml +++ b/packages/app/tests/e2e/docker-compose.yml @@ -16,7 +16,7 @@ services: memory: 512M cpus: '0.5' ch-server: - image: clickhouse/clickhouse-server:25.6-alpine + image: clickhouse/clickhouse-server:26.1-alpine ports: - 8123:8123 # http api - 9000:9000 # native diff --git a/packages/common-utils/src/__tests__/clickhouse.test.ts b/packages/common-utils/src/__tests__/clickhouse.test.ts index c16e57b1..dc7bfd28 100644 --- a/packages/common-utils/src/__tests__/clickhouse.test.ts +++ b/packages/common-utils/src/__tests__/clickhouse.test.ts @@ -443,6 +443,7 @@ describe('processClickhouseSettings - optimization settings', () => { allow_experimental_analyzer: 1, date_time_output_format: 'iso', wait_end_of_query: 0, + output_format_json_quote_64bit_integers: 1, cancel_http_readonly_queries_on_client_close: 1, }); }); @@ -475,6 +476,7 @@ describe('processClickhouseSettings - optimization settings', () => { allow_experimental_analyzer: 1, date_time_output_format: 'iso', wait_end_of_query: 0, + output_format_json_quote_64bit_integers: 1, cancel_http_readonly_queries_on_client_close: 1, query_plan_optimize_lazy_materialization: '1', query_plan_max_limit_for_lazy_materialization: '100000', @@ -507,6 +509,7 @@ describe('processClickhouseSettings - optimization settings', () => { allow_experimental_analyzer: 1, date_time_output_format: 'iso', wait_end_of_query: 0, + output_format_json_quote_64bit_integers: 1, cancel_http_readonly_queries_on_client_close: 1, use_skip_indexes_for_top_k: '1', use_skip_indexes_on_data_read: '1', @@ -535,6 +538,7 @@ describe('processClickhouseSettings - optimization settings', () => { allow_experimental_analyzer: 1, date_time_output_format: 'iso', wait_end_of_query: 0, + output_format_json_quote_64bit_integers: 1, cancel_http_readonly_queries_on_client_close: 1, use_skip_indexes_for_top_k: '1', max_rows_to_read: '1000000', @@ -582,6 +586,7 @@ describe('processClickhouseSettings - optimization settings', () => { allow_experimental_analyzer: 1, date_time_output_format: 'iso', wait_end_of_query: 0, + output_format_json_quote_64bit_integers: 1, cancel_http_readonly_queries_on_client_close: 1, }); }); diff --git a/packages/common-utils/src/clickhouse/index.ts b/packages/common-utils/src/clickhouse/index.ts index ae0f977a..cc3fa209 100644 --- a/packages/common-utils/src/clickhouse/index.ts +++ b/packages/common-utils/src/clickhouse/index.ts @@ -522,6 +522,7 @@ export abstract class BaseClickhouseClient { date_time_output_format: 'iso', wait_end_of_query: 0, cancel_http_readonly_queries_on_client_close: 1, + output_format_json_quote_64bit_integers: 1, // In 25.8, the default value for this was changed from 1 to 0. Due to JavaScript's poor precision for big integers, we should enable this https://github.com/ClickHouse/ClickHouse/pull/74079 }; const metadata = getMetadata(this);