Repository navigation
Nightly upstream merge - #165
Conversation
Bumps [io.airlift:aircompressor-v3](https://github.com/airlift/aircompressor) from 3.13 to 3.14. - [Release notes](https://github.com/airlift/aircompressor/releases) - [Commits](airlift/aircompressor@3.13...3.14) --- updated-dependencies: - dependency-name: io.airlift:aircompressor-v3 dependency-version: '3.14' dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the web-ui-dependencies group in /core/trino-web-ui/src/main/resources/webapp with 8 updates: | Package | From | To | | --- | --- | --- | | [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.3.0` | `19.3.1` | | [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.3.0` | `19.3.1` | | [sass](https://github.com/sass/dart-sass) | `1.105.1` | `1.105.2` | | [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.11.29` | `2.11.34` | | [browserslist](https://github.com/browserslist/browserslist) | `4.29.3` | `4.29.5` | | [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001816` | `1.0.30001819` | | [electron-to-chromium](https://github.com/Kilian/electron-to-chromium) | `1.5.456` | `1.5.467` | | [node-releases](https://github.com/chicoxyzzy/node-releases) | `2.0.59` | `2.0.60` | Updates `react` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react) Updates `react-dom` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom) Updates `sass` from 1.105.1 to 1.105.2 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](sass/dart-sass@1.105.1...1.105.2) Updates `baseline-browser-mapping` from 2.11.29 to 2.11.34 - [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases) - [Commits](web-platform-dx/baseline-browser-mapping@v2.11.29...v2.11.34) Updates `browserslist` from 4.29.3 to 4.29.5 - [Release notes](https://github.com/browserslist/browserslist/releases) - [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md) - [Commits](browserslist/browserslist@4.29.3...4.29.5) Updates `caniuse-lite` from 1.0.30001816 to 1.0.30001819 - [Commits](browserslist/caniuse-lite@1.0.30001816...1.0.30001819) Updates `electron-to-chromium` from 1.5.456 to 1.5.467 - [Changelog](https://github.com/Kilian/electron-to-chromium/blob/main/CHANGELOG.md) - [Commits](Kilian/electron-to-chromium@v1.5.456...v1.5.467) Updates `node-releases` from 2.0.59 to 2.0.60 - [Commits](chicoxyzzy/node-releases@v2.0.59...v2.0.60) --- updated-dependencies: - dependency-name: react dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: react-dom dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: sass dependency-version: 1.105.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: baseline-browser-mapping dependency-version: 2.11.34 dependency-type: indirect update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: browserslist dependency-version: 4.29.5 dependency-type: indirect update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: caniuse-lite dependency-version: 1.0.30001819 dependency-type: indirect update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: electron-to-chromium dependency-version: 1.5.467 dependency-type: indirect update-type: version-update:semver-patch dependency-group: web-ui-dependencies - dependency-name: node-releases dependency-version: 2.0.60 dependency-type: indirect update-type: version-update:semver-patch dependency-group: web-ui-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
The test set query.client.timeout to 1s. The server holds a results request for up to 1s (MAX_WAIT_TIME) before recording a heartbeat, and CI shows major GC pauses of 0.6-0.8s, so a client actively reading rows could go more than 1s without a recorded heartbeat and be failed with ABANDONED_QUERY. Raise the client timeout to 3s and the per-row delay to 200ms, so reading the 25 rows still takes longer than the timeout and the test keeps verifying that row heartbeats keep the query alive.
testInsertWriteBulkiness counts LOP_INSERT_ROWS records with fn_dblog, which only sees the active portion of the transaction log. The test database is in the FULL recovery model but was never backed up, so a checkpoint truncates the log. When one landed between the INSERT and the count, the fully logged cases saw fewer than 1500 records, and the minimally logged cases could pass for the wrong reason. Hold an open transaction that has written a log record for the duration of the INSERT and the count: the log cannot be truncated past the oldest active transaction.
Each source task rebalances on its own, so one or both partitions can scale to the second writer task.
Handle non-null arrays without aborting JSON output with an ObjectCodec error. Preserve the existing formatting of scalar and binary values.
A node answers internal requests with 503 "Trino server is still initializing" until its startup completes. The remote-task clients treat 503 as retryable, but HttpPageBufferClient turned it into a TrinoException, for both the results fetch and the results-cleanup DELETE. A TrinoException bypasses the backoff and fails the client, and with it the query, e.g. when a worker restarted on the same address while a query's exchange was still reading from it. Handle 503 as a transient error on both requests, retried within the exchange's error budget like other transport failures.
Preserve NaN membership when pushing down floating-point predicates.
Predicate rewrites and domain extraction need the same SQL rendering semantics. Extract the value-set renderer from DomainTranslator for reuse while preserving its normalization and null handling.
Functions need a common way to describe the inputs producing a requested output domain. Add provider contracts, registration, dependency binding, and result validation, with tests for invalid registrations and provider results.
Comparison inversion needs consistent candidate admission, null semantics, and evaluation guarantees. Add shared analysis and rendering with provider-selected candidates and coverage for synthetic providers and conservative projections.
Scalar casts need domain inversion that preserves successful results across rounding, truncation, and time zone boundaries.
Temporal comparisons need calendar-aware inverse domains. Add year, date_trunc, and at_timezone providers with boundary, admission, and single-evaluation coverage.
Comparisons over structural casts need safe mappings of native constants. Add array, row, and map providers that admit lossless element mappings and preserve evaluation and null behavior.
Function-specific comparison rules duplicate inverse semantics across the optimizer. Use registered function preimages to derive input constraints and simplify comparisons, including predicates exposed by projection inlining.
Keep the legacy domain extractor available for fallback and same-revision performance comparisons.
Keep legacy coercion available for fallback and performance comparisons.
Check that a new connection has no roles before the test changes the session authorization. The later assertions that roles are empty after SET SESSION AUTHORIZATION or RESET SESSION AUTHORIZATION could not tell a cleared role set from one that was never set, so pin the starting state first.
Writing deletion vectors read every data manifest of the base snapshot to find the record counts of the touched data files.
PostgreSQL backends write directly to stderr and concurrent backends can interleave long statement log lines. The logging collector writes to the container's stderr so Docker logs retain complete lines for event parsing and the startup wait strategy.
mvn airstyle:check enforces consistent EOL-at-EOF for Java files. Add a similar check for all other text files. This prevents git diff churn when some tools strip the final EOL unintentionally.
…ghtly Co-authored-by: Shelley <shelley@exe.dev> # Conflicts: # .github/workflows/ci.yml # plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseHiveConnectorTest.java
There was a problem hiding this comment.
Reviewed the PR description, diff, and existing discussion at fd48eea311d600b6a737a68928a5a778d422bcc7. Checked the merge conflict resolutions, function preimage and floating-point predicate handling, connector compatibility, Iceberg delete metadata, and regression test coverage, including scope and overengineering concerns. No tests, builds, linters, or dependency installs were run, as requested.
No issues found.
— Robo Bill v2 (gpt-6.1-sol, high reasoning)
benben
left a comment
There was a problem hiding this comment.
Automated review generated on behalf of @benben.
Approve. This merge pulls in upstream's function-preimage work, NaN-aware floating-point domains, and a CI check that text files end with a newline. Both conflict resolutions look right, and the fork's DuckLake min/max pruning was already safe with the new NaN domains: it skips real/double stats unless the file says it has no NaN. One problem: a fork-only file has no trailing newline, so the new CI check will fail.
- major
lib/trino-parquet/src/test/resources/variant/shredded/parquet-testing/cases.json:826Fork-only fixture lacks trailing newline, failing the newly merged CI check. The 'Check text files end with a newline' step in ci.yml fails on this file, which was added in fork commit b3877ba and does not exist upstream.
Model: us.anthropic.claude-opus-5-5.
Co-authored-by: Shelley <shelley@exe.dev>
Automated nightly merge of upstream trinodb/trino master into PostHog/trino master.
Resolved conflicts:
.github/workflows/ci.yml: adopted upstream's newline-at-EOF check and kept the fork's nosemgrep suppression on the setup action.plugin/trino-hive/.../BaseHiveConnectorTest.java: kept the fork's direct writer-task-count assertion and adopted upstream's flakiness fix (partitioned scaled-writer expectation 3..4 files).Local sanity builds passed:
plugin/trino-ducklake(with dependencies)plugin/trino-posthog-catalogstore(with dependencies)SPI note: upstream's new function-preimage APIs are additive; fork SPI additions (DelegatedCatalogStore, RevisionedCatalogStore, LoadedConfiguration, ROW_LEVEL_DELETE_ONLY, finishMerge(MemoryContext)) are preserved.