Commit Graph
218283 Commits
Author SHA1 Message Date
Alexey MilovidovandClaude Opus 4.6 ab7bc27ae3 Bundle xterm.js libraries as embedded static files
Embed xterm.js 5.5.0, addon-fit 0.10.0, and addon-web-links 0.11.0
(minified JS and CSS) into the server binary, served at /js/*.
This removes the dependency on CDN and makes the web terminal
page fully self-contained, like the dashboard.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 14:28:05 +01:00
Alexey MilovidovandClaude Opus 4.6 1d5c996a8f Change web terminal background to black
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 14:16:57 +01:00
Alexey MilovidovandClaude Opus 4.6 e3be53f779 Clean up "Connecting..." message on successful connection
Erase the "Connecting..." line before PTY output starts, so the
terminal content renders from a clean line. Also erase it on
auth failure before showing the error prompt.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 14:15:14 +01:00
Alexey MilovidovandClaude Opus 4.6 e63c5babd2 Track #embed file dependencies in CMake
The C++ `#embed` directive includes file contents at compile time,
but the build system does not automatically track these as
dependencies. When an embedded file (e.g., `play.html`) changes,
the .cpp file that embeds it is not recompiled.

Fix this by adding `OBJECT_DEPENDS` properties to all source files
that use `#embed`, covering: HTML pages, JavaScript files, XML
configs, and NLP data files.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 13:43:47 +01:00
Alexey MilovidovandClaude Opus 4.6 6c6f77eefe Rework web terminal to use in-terminal authentication prompts
- Remove the overlay login form; the terminal fills the entire page
- Auto-connect with default credentials (or credentials from URL params)
- On auth failure, prompt for username/password directly in the terminal
- If user was provided in the URL, only prompt for password
- After session ends, prompt for credentials again to reconnect
- Hide the scrollbar while keeping the terminal scrollable

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 13:29:15 +01:00
Alexey MilovidovandClaude Opus 4.6 b0bf29a673 Add web terminal interface to clickhouse-server
Add a WebSocket-based terminal protocol (webterminal) that runs
a pseudoterminal with embedded clickhouse-client functionality,
accessible via a browser at /webterminal.

The implementation reuses the same `PtyClientDescriptorSet` and
`ClientEmbeddedRunner` infrastructure as the SSH protocol, but
connects via WebSocket instead of SSH. Authentication works the
same way as in the HTTP protocol (URL params, Basic auth,
X-ClickHouse headers).

The HTML page uses xterm.js for terminal emulation and connects
to the server via WebSocket, bridging data bidirectionally
between the browser and the PTY.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 13:11:13 +01:00
Alexey MilovidovandGitHub b0c0f0cf7a Merge pull request #100145 from ClickHouse/increase-interactive-delay-by-sqrt-fanout
Make clickhouse-client's progress bar less jittery when working from a hotel with clusters with a very large number of replicas: Increase interactive_delay by sqrt(fanout) for distributed queries
2026-03-21 09:39:09 +00:00
Alexey MilovidovandGitHub ef0c8cffa1 Merge pull request #100213 from CurtizJ/fix-text-index-build-crash
Fix terminate on memory limit in `StringHashTable`
2026-03-21 09:36:24 +00:00
Alexey MilovidovandGitHub d0bcd9843a Merge pull request #100224 from CurtizJ/fix-not-ready-set
Fix not ready set in text index analysis
2026-03-21 09:35:53 +00:00
Alexey MilovidovandGitHub 8f267d6c97 Merge pull request #93543 from ClickHouse/ft
Functions stress test
2026-03-21 09:31:39 +00:00
Alexey MilovidovandGitHub a320d82725 Merge pull request #100239 from simonhammes/fix-entrypoint-errors-if-log-files-are-disabled
Fix entrypoint error messages in case log files are disabled
2026-03-21 09:31:00 +00:00
Nikita FomichevandGitHub 835dbe053a Merge pull request #100236 from ClickHouse/fix-asan-handle-no-return-warning
ci: ignore ASan warning about __asan_handle_no_return in clickhouse-test
2026-03-21 07:38:50 +00:00
Alexey MilovidovandClaude Opus 4.6 541f0b585b Enable functions stress test as a regular unit test
Skip the stress test under MSan: it finds uninitialized-memory reads
in functions that are hard to debug without a local MSan build. The
test still runs under ASan/UBSan and TSan where it provides value.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 02:11:17 +00:00
Alexey MilovidovandClaude Opus 4.6 7f53ed08f6 Fix 04052_kql_array_sort_row_independence flaky test
Add `ORDER BY length(a)` to the multi-row query to make row order
deterministic. Update reference to match the sorted output.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-21 00:09:13 +00:00
Nikita TaranovandGitHub 8a0f2e2dd1 Merge pull request #99801 from ClickHouse/fix_task_size_discrepancy_on_replicas
Use `min_marks_per_task` from the initiator on replicas
2026-03-20 23:56:08 +00:00
Alexey MilovidovandGitHub fa415b72c3 Merge pull request #100151 from CurtizJ/fix-text-index-startwith
Fix usage of text index with functions `startsWith` and `endsWith`
2026-03-20 23:55:06 +00:00
Alexey MilovidovandGitHub 8d887824b7 Merge pull request #100233 from ClickHouse/fix-04043-flaky-test
Fix flaky test `04043_system_asynchronous_inserts_user_filter`
2026-03-20 23:53:15 +00:00
Alexey MilovidovandGitHub 3f45886b44 Merge pull request #99919 from ClickHouse/page-cache-parallel-reads
Add `readBigAt` support to `CachedInMemoryReadBufferFromFile` for parallel S3 downloads
2026-03-20 23:16:34 +00:00
Alexey MilovidovandGitHub 5a53ad23c8 Merge pull request #99623 from ClickHouse/chesema-redo-95952
redo Part with unknown projections should not be marked as lost forever
2026-03-21 00:43:17 +01:00
Alexey MilovidovandGitHub 2c92ef9234 Merge pull request #99697 from asyablue22/asya/avro
Fix undefined behavior in Avro reader
2026-03-21 00:40:46 +01:00
Alexey MilovidovandGitHub 35f772b475 Merge pull request #99788 from zlareb1/qa/pr99005-correlated-exists-limit-offset
Add bug test for correlated EXISTS with LIMIT/OFFSET regression (PR #99005)
2026-03-21 00:39:26 +01:00
Alexey MilovidovandGitHub cb2139d498 Merge pull request #99850 from ClickHouse/fix-filecache-resize-logical-error
Fix false LOGICAL_ERROR in filesystem cache dynamic resize
2026-03-21 00:37:57 +01:00
Alexey MilovidovandGitHub 4e915a1e0e Merge pull request #100030 from seva-potapov/fix-nats-startup-race
fix StorageNATS as well
2026-03-21 00:36:27 +01:00
Alexey MilovidovandGitHub 00b6c5ec76 Merge pull request #100068 from ClickHouse/fix-clear-column-projection
Fix logical error during merge of projection parts after CLEAR COLUMN on a table with projections and compact parts.
2026-03-21 00:35:05 +01:00
Alexey MilovidovandGitHub 53ca761f52 Merge pull request #100144 from germiBest/fix-lc-nullable-query-parameter
Fix `LowCardinality(Nullable(T))` query parameters not defaulting to NULL when omitted
2026-03-21 00:30:57 +01:00
Alexey MilovidovandGitHub 02135068ec Merge pull request #100150 from ivanmantova/fix-arrow-parquet-builder
Improve Arrow Parquet writer to include UUID logical type
2026-03-21 00:29:54 +01:00
Alexey MilovidovandGitHub b95b6d3341 Merge pull request #100182 from ClickHouse/fix-join-runtime-filter-variant
Fix join runtime filter with Variant type
2026-03-21 00:29:00 +01:00
Alexey MilovidovandGitHub b6014932e0 Merge pull request #100190 from ClickHouse/fix/check-labels-env-state
Store final PR labels state in praktika _Environment after check_labels
2026-03-21 00:28:04 +01:00
Alexey MilovidovandGitHub ba1ab972dc Merge pull request #100202 from ClickHouse/more-fuzz
Fuzz more
2026-03-21 00:26:57 +01:00
Alexey MilovidovandGitHub 6a97bccea2 Merge pull request #100214 from nihalzp/fix-flaky-test-04004_integral_col_comparison_with_float_key_condition
Fix flaky test 04004_integral_col_comparison_with_float_key_condition
2026-03-21 00:25:24 +01:00
Alexey MilovidovandGitHub 0daf9fb3df Merge pull request #100136 from ClickHouse/ast-inconsistency-for-explain-with-inner-settings
Allow parenthesized queries in EXPLAIN
2026-03-21 00:14:35 +01:00
simonhammes 572e58b399 Fix entrypoint error messages in case log files are disabled
It is quite common to run ClickHouse in Docker with enabled console logging.
If the logger.log and logger.errorlog settings are removed from the configuration,
the entrypoint script currently produces two messages on startup:

Poco::Exception. Code: 1000, e.code() = 0, Not found: logger.log (version 26.2.5.45 (official build))
Poco::Exception. Code: 1000, e.code() = 0, Not found: logger.errorlog (version 26.2.5.45 (official build))

This commit fixes this behavior by adding the `--try` flag to the relevant `extract-from-config` invocations.

Related: https://github.com/ClickHouse/ClickHouse/issues/69551
2026-03-20 23:47:43 +01:00
Alexey MilovidovandClaude Opus 4.6 a23ddd12c7 Fix fanout calculation in shard_filter_generator and parallel replicas paths
In the `shard_filter_generator` branch, use `shards.size() * per_replica_pools.size()`
instead of just `shards.size()`, because this path creates one `RemoteQueryExecutor`
per replica across shards.

In `createPipeForSingeReplica`, subtract 1 from `pools_to_use.size()` when
`exclude_pool_index` is set, since the excluded local replica doesn't get a pipe.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 22:43:14 +00:00
Alexey MilovidovandClaude Opus 4.6 bcdbb341a2 Fix cross-row contamination in kql_array_sort_asc/kql_array_sort_desc
The `hasEqualOffsets` check was column-wide: if any row had mismatched
array lengths between the first and a secondary array, the entire
secondary column was replaced with `[NULL]` for all rows. This made
one row's result depend on other rows in the block.

Fix: use `arrayResize` to pad/truncate secondary arrays per-row to match
the first array's lengths. This makes each row independent while keeping
all arrays in the zip+sort pipeline.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 23:40:12 +01:00
Alexey MilovidovandClaude Opus 4.6 d94fb4ec87 Address review comments
- Remove URL/domain functions from the stress test blocklist (they
  don't depend on the environment); keep the "-Custom" variants
  excluded (they need custom TLD list config).
- Fix typo "ths String" → "this String" in stress test.
- Fix missing closing `)` in diagnostic text.
- Restore `reverse` injectivity for arrays (`arrayReverse` is an
  involution, hence injective).
- Add `isDeterministic` comment in `IFunction.h`: also means the
  result must not depend on constness of arguments.
- Add comment explaining why `arrayPartialSort` is non-deterministic
  (`nth_element` leaves elements beyond position k in unspecified order).
- Add comment explaining the >= 2 element range check in
  `ColumnNullable::updatePermutationImpl`.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 22:28:01 +00:00
Alexey MilovidovandClaude Opus 4.6 f206c624ad Fix function bugs found by the stress test
Add SQL test covering edge cases found by the functions stress test:
- `negate` overflow at Int64/Int8 minimum
- `intExp2`/`intExp10` non-injectivity for floats
- `toStartOfMillisecond`/`toStartOfMicrosecond` with extreme DateTime64 values
- Modulo sign consistency for const vs non-const power-of-two divisors
- CASE expression with Int128 types (fallback to `multiIf`)
- `if` condition normalization with non-boolean UInt8
- `trimRight` with excessive trim characters (TOO_LARGE_STRING_SIZE)
- `parseDateTime` with insufficient input (CANNOT_PARSE_DATETIME)
- `fromModifiedJulianDayOrNull` returning NULL for out-of-range inputs
- Interval conversion for non-const columns
- `conv` with invalid base (BAD_ARGUMENTS)
- `tupleElement` with out-of-bound index (ARGUMENT_OUT_OF_BOUND)
- NaN deduplication in `arrayDistinct` via `ColumnUnique` normalization

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 22:12:30 +00:00
Alexey MilovidovandClaude Opus 4.6 53a869d241 Fix sanitizer failures in functions stress test
Reduce default duration from 60s to 10s for sanitizer builds
(ASan, MSan, TSan) to avoid CI timeouts. Under sanitizers everything
runs ~10-20x slower, so 60s of real work becomes 10-20 minutes of
wall clock, and the CI unit test job has a 45-minute hard limit.
The MSan unit test was timing out after 6 hours.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 21:34:48 +00:00
Nikita FomichevandClaude Sonnet 4.6 0ab6e6d3d7 ci: ignore ASan warning about __asan_handle_no_return in clickhouse-test
Add `ASan is ignoring requested __asan_handle_no_return` to
`IGNORED_SANITIZER_ERRORS` in `clickhouse-test`. This warning appears
when the virtual stack size is too large for ASan to track
`__asan_handle_no_return` and is a known limitation
(https://github.com/google/sanitizers/issues/189), not a real error.

Close: https://github.com/ClickHouse/clickhouse-private/issues/53120#issuecomment-4099612841

Co-Authored-By: Claude Sonnet 4.6 (1M context) <[email protected]>
2026-03-20 22:15:58 +01:00
Yakov OlkhovskiyandGitHub 12ad2c7c3b Merge pull request #100036 from ClickHouse/fix-local-create-dictionary
Fix local server crash on CREATE DICTIONARY with bogus definition.
2026-03-20 20:36:37 +00:00
George LarionovandClaude Opus 4.6 5b20c1f7f7 Fix flaky test 04043_system_asynchronous_inserts_user_filter
Add `no-parallel` tag because the test relies on a pending async insert
remaining in the queue. Concurrent tests that run
`SYSTEM FLUSH ASYNC INSERT QUEUE` drain all shards globally, removing
the entry before the subsequent SELECT queries can observe it.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-20 20:34:40 +00:00
George LarionovandGitHub cc944025ac Merge pull request #99837 from amosbird/unicode-word-followup
Rename unicode_word tokenizer to unicodeWord and improve docs
2026-03-20 19:59:00 +00:00
Alexander TokmakovandGitHub 1aa91096c4 Merge pull request #100208 from ClickHouse/revert-99163-divanik/add_proper_spark_conf_for_azure_and_local
Revert "Resolve problems with paths and compatibility problems with Spark in Azure"
2026-03-20 18:21:52 +00:00
George Larionov 325f1a10e6 reordering code to parse standard path first 2026-03-20 18:14:39 +00:00
Alexander Tokmakov 8e26c82f34 Revert "Merge pull request #99163 from ClickHouse/divanik/add_proper_spark_conf_for_azure_and_local"
This reverts commit c67ef70614, reversing
changes made to 2d643ea29a.
2026-03-20 18:49:27 +01:00
Nikita Taranov b51e59c135 mark test as long 2026-03-20 17:42:25 +00:00
Anton Popov 2e792c169f fix not ready set in text index analysis 2026-03-20 17:34:21 +00:00
Pedro Ferreira 44323b62e3 AI review fix 2026-03-20 17:11:16 +00:00
Vitaly BaranovandGitHub c232ef7342 Merge pull request #98948 from vitlibar/promql-binary-ops
PromQL: Binary operators
2026-03-20 16:53:46 +00:00
Pedro Ferreira 14e3f9ccd1 Another fix 2026-03-20 16:38:20 +00:00
Mohammad Lareb ZafarandGitHub 3c2705451b Merge pull request #100196 from zlareb1/fix/clickhouse-test-global-sanitized
Fix missing `global SANITIZED` declaration in `collect_build_flags`
2026-03-20 16:28:43 +00:00